📄 routedmode.sgml
字号:
<sect2>Section [RoutedMode]<label id="routed"><p>Call signalling messages may be passwd in two ways.The first method is Direct Endpoint Call Signalling, in which casethe call signalling messages are passed directly between the endpoints.The second method is Gatekeeper Routed Call Signalling. In this method,the call signalling messages are routed through the gatekeeperbetween the endpoints. The choice of which methods is used is made bythe gatekeeper.When Gatekeeper Routed call signalling is used, the gatekeeper may choosewhether to route the H.245 control channel and logical channels.<descrip><tag/Case I./The gatekeeper doesn't route them.The H.245 control channel and logical channels are established directlybetween the endpoints.<tag/Case II./The H.245 control channel is routed betweenthe endpoints through the gatekeeper, while the logical channelsare established directly between the endpoints.<tag/Case III./The gatekeeper routes the H.245 control channel,as well as all logical channels, including RTP/RTCP for audio and video,and T.120 channel for data. In this case, no traffic is passeddirectly between the endpoints. This is usually called an H.323 Proxy,which can be regarded as an H.323-H.323 gateway.</descrip>This section defines the gatekeeper routed mode options (case I & II).The proxy feature is defined in the <ref id="proxy" name="next section">.All settings in this section are affected by reloading.<itemize><item><tt/GKRouted=1/<newline>Default: <tt/0/<p>Whether to enable the gatekeeper routed signaling mode.<item><tt/H245Routed=1/<newline>Default: <tt/0/<p>Whether to route the H.245 control channel through the gatekeeper too.Only takes effect if <tt/GKRouted=1/ and H.245 tunneling is disabledfor a call. Even when this option is disabled, if Proxy or ProxyForNATtakes effect, an H.245 channel is always routed through the gatekeeperfor calls being proxied.<item><tt/CallSignalPort=0/<newline>Default: <tt/1721/<p>The port of call signalling for the gatekeeper.The default port is <tt/1721/. We don't use the well-known port <tt/1720/so you can run an H.323 endpoint in the same machine of the gatekeeper.You may set it to <tt/0/ to let the gatekeeper choose an arbitrary port.<item><tt/CallSignalHandlerNumber=2/<newline>Default: <tt/1/<p>The number of threads dedicated to handle signaling/H.245 channels.You may increase this number in a heavy loaded gatekeeper. Each threadcan process one signaling message at time, so increasing this numberwill increase call throughput. Under Windows, there exists a default limitof 64 sockets used by a single signaling thread, so each signaling threadis able to handle at most 32 calls (with H.245 tunneling enabled).<item><tt/RtpHandlerNumber=2/<newline>Default: <tt/1/<p>The number of RTP proxy handling threads. Increase this value only if youexperience problems with RTP delay or jitter on a heavily loaded gatekeeper.A special care has to be taken on Windows, at RTP handling threads are subjectof the same limit of 64 sockets as signalling threads. Each RTP thread isable to handle at most 32 proxied calls (2 sockets per call).<item><tt/AcceptNeighborsCalls=1/<newline>Default: <tt/1/<p>With this feature enabled, the call signalling thread will accept callswithout a pre-existing CallRec found in the CallTable, provided an endpointcorresponding to the destinationAddress in Setup can be found in theRegistrationTable, and the calling party is its neighbors or parent GK.The gatekeeper will also use it's own call signalling address in LCFin responding to an LRQ. That means, the call signalling will be routedto GK2 in GK-GK calls.As a result, the CDRs in GK2 can correctly show the connectedtime, instead of 'unconnected'.<item><tt/AcceptUnregisteredCalls=1/<newline>Default: <tt/0/<p>With this feature enabled, the gatekeeper will accept callsfrom any unregistered endpoint.However, it raises security risks. Be careful to use it.<item><tt/RemoveH245AddressOnTunneling=1/<newline>Default: <tt/0/<p>Some endpoints send h245Address in the UUIE of Q.931 even when h245Tunnelingis set to TRUE. This may cause interoperability problems. If the optionis TRUE, the gatekeeper will remove h245Address when h245Tunneling flagis TRUE. This enforces the remote party to stay in tunnelling mode.<item><tt/RemoveCallOnDRQ=0/<newline>Default: <tt/1/<p>With this option turning off, the gatekeeper will not disconnect a callif it receives a DRQ for it. This avoids potential race conditions whena DRQ overtakes a Release Complete.This is only meaningful in routed mode because in direct mode, the onlymechanism to signal end-of-call is a DRQ.<item><tt/DropCallsByReleaseComplete=1/<newline>Default: <tt/0/<p>According to Recommendation H.323, the gatekeeper could tear down a callby sending RAS DisengageRequest to endpoints.However, some bad endpoints just ignore this command.With this option turning on, the gatekeeper will send Q.931Release Complete instead of RAS DRQ to both endpoints to force themdrop the call.<item><tt/SendReleaseCompleteOnDRQ=1/<newline>Default: <tt/0/<p>On hangup, the endpoint sends both Release Complete within H.225/Q.931 andDRQ within RAS. It may happen that DRQ is processed first, causing thegatekeeper to close the call signalling channel, thus preventing theRelease Complete from being forwarding to the other endpoint.Though the gatekeeper closes the TCP channel to the destination,some endpoints (e.g. Cisco CallManager) don't drop the call even ifthe call signalling channel is closed.This results in phones that keep ringing if the caller hangs upbefore the callee pickups.Setting this parameter to <tt/1/ makes the gatekeeper always sendRelease Complete to both endpoints before closing the call whenit receives DRQ from one of the parties.<item><tt/SupportNATedEndpoints=1/<newline>Default: <tt/0/<p>Whether to allow an endpoint behind an NAT box register to the gatekeeper.If yes, the gatekeeper will translate the IP address in Q.931 and H.245channel into the IP of NAT box.Since 2.0.2, the GnuGk supports NAT outbound calls (from an endpoint behind NATto public networks) directly without any necessary modificationof endpoints or NAT box. Just register the endpoint with the GnuGkand you can make call now.<item><tt/ScreenDisplayIE=MyID/<newline>Default: <tt>N/A</tt><p>Modify the DisplayIE of Q.931 to the specified value.<item><tt/ScreenCallingPartyNumberIE=0965123456/<newline>Default: <tt>N/A</tt><p>Modify the CallingPartyNumberIE of Q.931 to the specified value.<item><tt/ScreenSourceAddress=MyID/<newline>Default: <tt>N/A</tt><p>Modify the sourceAddress field of UUIE element from Q.931 Setup message.<item><tt/ForwardOnFacility=1/<newline>Default: <tt/0/<p>If yes, on receiving Q.931 Facility with reason <bf/callForwarded/,the gatekeeper will forwards call Setup directly to the forwarded endpoint,instead of passing the message back to the caller.If you have broken endpoints that can't handle Q.931 Facility with reason<bf/callForwarded/, turn on this option. Note that this featuremay not always work correctly, as it does not provide any meansof capability renegotiation and media channel reopening.<item><tt/ShowForwarderNumber=0/<newline>Default: <tt/0/<p>Whether to rewrite the calling party number to the number of forwarder.It's usually used for billing purpose.Only valid if <tt/ForwardOnFacility=1/.<item><tt/Q931PortRange=20000-20999/<newline>Default: <tt>N/A (let the OS allocate ports)</tt><p>Specify the range of TCP port number for Q.931 signalling channels.Note the range size may limit the number of concurrent calls.Make sure this range is wide enough to take into account TIME_WAITTCP socket timeout before a socket can be reused after closed.TIME_WAIT may vary from 15 seconds to a few minutes, depending on an OS.So if your range is 2000-2001 and you made two calls, next two can bemade after TIME_WAIT timeout elapses and the sockets can be reused.The same applies to <tt/H245PortRange/ and <tt/T120PortRange/. TIME_WAITcan be usualy tuned down on most OSes.<item><tt/H245PortRange=30000-30999/<newline>Default: <tt>N/A (let the OS allocate ports)</tt><p>Specify the range of TCP port number for H.245 control channels.Note the range size may limit the number of concurrent calls.See remarks about TIME_WAIT socket state timeout in the <tt/Q931PortRange/description.<item><tt/SetupTimeout=4000/<newline>Default: <tt>8000</tt><p>A timeout value (in milliseconds) to wait for a first message (Setup)to be received after a signaling TCP channel has been opended.<item><tt/SignalTimeout=10000/<newline>Default: <tt>15000</tt><p>A timeout value (in milliseconds) to wait for a signalling channelto be opened after an ACF message is sent or to wait for an Alertingmessage after a signalling channel has been opened. This optioncan be thought as a maximum allowed PDD (Post Dial Delay) value.<item><tt/AlertingTimeout=60000/<newline>Default: <tt>180000</tt><p>A timeout value (in milliseconds) to wait for a Connect messageafter a call entered Alerting state. This option can be thoughtas a maximum "ringing time".<item><tt/TcpKeepAlive=0/<newline>Default: <tt/1/<p>Enable/disable keepalive feature on TCP signaling sockets. This canhelp to detect inactive signaling channels and prevent dead calls from hangingin the call table. For this option to work, you also need to tweak systemsettings to adjust keep alive timeout. See docs/keepalive.txt for more details.<item><tt/TranslateFacility=1/<newline>Default: <tt/0/<p>Enable this option if you have interoperability problems between H.323v4and non-H.323v4 endpoints. It converts Facility messages with reason = transportedInformationinto Facility messages with an empty body, because some endpoints do notprocess tunneled H.245 messages inside Facility, if the body is not empty.The conversion is performed only when neccessary - if both endpoints are v4or both endpoints are pre-v4, nothing is changed.<item><tt/SocketCleanupTimeout=1000/<newline>Default: <tt/5000/<p>Define time to wait before an unused socket is closed (if it is not yet closed)and deleted (its memory is released). If you use very small port ranges, like a few ports (e.g. RTPPortRange=2000-2009), you may want to decrease this valueto get sockets reusable faster.</itemize><p><sect2>Section [Proxy]<label id="proxy"><p>The section defines the H.323 proxy features. It means the gatekeeper willroute all the traffic between the calling and called endpoints, so thereis no traffic between the two endpoints directly. Thus it is very usefulif you have some endpoints using private IP behind an NAT box and someendpoints using public IP outside the box.The gatekeeper can do proxy for logical channels of RTP/RTCP (audio and video)and T.120 (data). Logical channels opened by fast-connect proceduresor H.245 tunnelling are also supported.Note to make proxy work, the gatekeeper must have <bf/direct connection/to both networks of the caller and callee.<itemize><item><tt/Enable=1/<newline>Default: <tt/0/<p>Whether to enable the proxy function. You have to enable gatekeeperrouted mode first (see the <ref id="routed" name="previous section">).You don't have to specify H.245 routed.It will automatically be used if required.<item><tt>InternalNetwork=10.0.1.0/24</tt><newline>Default: <tt>N/A</tt><p>Define the networks behind the proxy. Multiple internal networks are allow.The proxy route channels only of the communications between one endpointin the internal network and one external. If you don't specify it, all callswill be proxied.<descrip><tag/Format:/<tt>InternalNetwork=network address/netmask[,network address/netmask,...]</tt><p>The netmask can be expressed in decimal dot notation orCIDR notation (prefix length), as shown in the example.<tag/Example:/<tt>InternalNetwork=10.0.0.0/255.0.0.0,192.168.0.0/24</tt></descrip><item><tt/T120PortRange=40000-40999/<newline>Default: <tt>N/A (let the OS allocate ports)</tt><p>Specify the range of TCP port number for T.120 data channels.Note the range size may limit the number of concurrent calls.See remarks about TIME_WAIT socket state timeout in the <tt/Q931PortRange/description.<item><tt/RTPPortRange=50000-59999/<newline>Default: <tt>1024-65535</tt><p>Specify the range of UDP port number for RTP/RTCP channels.Note the range size may limit the number of concurrent calls.<item><tt/ProxyForNAT=1/<newline>Default: <tt/1/<p>If yes, the gatekeeper will proxy for calls to which one of the endpointsparticipated is behind an NAT box. This ensure the RTP/RTCP stream canpenetrate into the NAT box without modifying it.However, the endpoint behind the NAT box must use the same portto send and receive RTP/RTCP stream.If you have bad or broken endpoints that don't satisfy the precondition,you have better to disable this feature and let the NAT box forwardRTP/RTCP stream for you.<item><tt/ProxyForSameNAT=0/<newline>Default: <tt/0/<p>Whether to proxy for calls between endpoints from the same NAT box.You do not need to enable this feature in general, since usually endpointsfrom the same NAT box can communicate with each other.</itemize>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -