|
Home Resources Products
Developers |
Main • H323chan
H.323 channelThis module supports h.323 protocol by using the OpenH323 library. In fact the H323 protocol defines a few standards. You can get more informations about H.323 at http://www.packetizer.com/voip/h323/standards.html From a routing module you can call an h323 channel like this: extension=h323/user@ip:port regexroute.conf: ^1$=h323/diana@10.0.0.1:1720 NOTE!!!! Please if you use Yate on linux to setup ulimit -n 8096. This will setup the number of open files (file handlers) Yate is allowed to use. Configuration file: ; h323chan.conf ; [general] ; This section sets global variables of the implementation ; debug: int: OpenH323 debug level ;debug=0 ; dumpcodecs: int: Debug level to dump registered OpenH323 codecs, 0 disables ;dumpcodecs=0 ; vendor: string: Vendor name ;vendor=Null Team ; product: string: Product name ;product=YATE ; major: int: Major version number ;major=1 ; minor: int: Minor version number ;minor=1 ; build: int: Build number ;build=0 ; status: keyword: Code status: alpha, beta or release ;status=alpha ; needmedia: bool: Drop calls for which no common media could be negotiated ;needmedia=yes ; Use an external RTP module instead of the native OpenH323 RTP stack, which is ; very cpu intensive. If no external RTP can be found it will fallback to the ; native stack. The only external RTP now is yrtp (see the yrtpchan module). ; external_rtp: bool: default: yes ;external_rtp=yes ; Attempt to use native (OpenH323) RTP if external fails to start. This is ; usefull only if the failure is caused by the external RTP module not ; being loaded. ; fallback_rtp: bool: default: yes ;fallback_rtp=yes ; Perform direct RTP forwarding between client endpoints. ; You should enable faststart=on in the [ep] section and make sure fast start ; is also supported and enabled on all clients. ; forward_rtp: bool: default: no ;forward_rtp=no ; The OpenH323 cleaner thread is a scarce shared resource. A limit set here ; will force new connections to be dropped if too many are already being ; in the cleanup queue. Set the limit to zero to disable this check. ; maxcleaning: int: default: 100 ;maxcleaning=100 [codecs] ; This section allows to individually enable or disable the codecs ; Using the OpenH323 internal RTP with a missing codec will lead to a crash! ; default: bool: Enable all unlisted codecs by default ;default=enable ; mulaw: bool: Companded-only G711 mu-law (G.711-uLaw-64k) ;mulaw=default ; alaw: bool: Companded-only G711 a-law (G.711-ALaw-64k) ;alaw=default ; gsm: bool: European GSM 06.10 (GSM-06.10) ;gsm=default ; msgsm: bool: Microsoft's proprietary verion of GSM (MS-GSM) ;msgsm=default ; speex: bool: Speex narrow (SpeexNarrow) ;speex=default ; lpc10: bool: Linear Prediction Codec (LPC-10) ;lpc10=default ; ilbc20: bool: Internet Low Bandwidth Codec 20ms (iLBC-15k2) ;ilbc20=default ; ilbc30: bool: Internet Low Bandwidth Codec 30ms (iLBC-13k3) ;ilbc30=default ; slin: bool: Signed Linear 16-bit uncompressed (PCM-16) ;slin=default ; g723: bool: ITU G.723 all variations (G.723) ;g723=default ; g726: bool: ITU G.726 all variations (G.726) ;g726=default ; g728: bool: ITU G.728 all variations (G.728) ;g728=default ; g729: bool: ITU G.729 all variations (G.729) ;g729=default [ep] ; Control the endpoint operation of the module ; ep: bool: True if you want to activate the h323 endpoint ep = true ; gw: bool: Set to true if you want this endpoint to declare itself as gateway gw = false ; port: int: TCP port on which the endpoint will listen ;port=1720 ; alias: string: The alias used by h323 module to connect to gatekeeper alias = yate ; ident: string: Sets the hostname part of the outgoing e.164 (numeric) aliases ident = yate ; maxconns: int: Maximum number of simultaneous connections (0 = no limit). ;maxconns = 0 ; faststart: bool: Enable Fast Start mode (offer media channels early) ;faststart=false ; h245tunneling: bool: Enable H.245 tunneling mode ;h245tunneling=false ; h245insetup: bool: Enable H.245 establishment early in call setup message ; Note that this setting may conflict with faststart so don't enable both ;h245insetup=false ; dtmfinband: bool: Wheter to decode inband DTMF (CPU intensive) ;dtmfinband = false ; silencedetect: keyword: Silence detection algorithm: none, fixed, adaptive ;silencedetect = none ; gkclient: bool: If h323 module endpoint should register to a gatekeeper gkclient = false ; password: string: Password for h.235 authentification ;password = 1234 ; gkip: ipaddress: Set the reported ip aaddress of the gatekeeper ;gkip = 10.10.10.10 ; gkname: string: Set the name of the gatekeeper ;gkname = gigi ; gkttl: int: Proposed gatekeeper registration time to live in seconds ;gkttl = 300 ; gkretry: int: Gatekeeper discovery retry interval in seconds, 0 disables ;gkretry = 60 ; How the gatekeeper is located ; If gkclient is true the endpoint will try first to find the gatekeeper by ; using gkip; then, if gkip is unset or is not corect, will try gkname and ; then will try to brodcast in the network. [gk] ; If server is true the gatekeeper of yate will start. You must understand that ; the H323EndPoint and H323GateKeeper share the calls. So you can make a call ; to a registered endpoint of this gatekeeper even if in the [ep] section ; you haven't register the local H323EndPoint to the local H323Gatekeeper. In ; fact is not recomanded to register the local EndPoint to the local GateKeeper. ; The local H323EndPoint is used as proxy for calls to local non h323 ; destinations. If you wanna call let's say tone/dial from a registered ; endpoint to the local gatekeeper, you must make a route in regexroute (or ; whatever you use) and then just dial the number. ; If you wanna call a registered endpoint you must use now as a module register ; since is the only module who can record prefixes right now. ; server: bool: Enable running a gatekeeper on the main endpoint ;server = false ; You must define the binding interfaces. Right now the multi hosted boxes don't ; work very well because OpenH323 mechanism, but we will fix that if someone ; have any problem. ;interface1=10.0.0.1 ; port: int: Port on which the gatekeeper listens for connections ;port = 1719 ; name: string: Identifier of the gatekeeper ;name = YateGatekeeper ; ttl: int: Registrations time to live in seconds, 0 to disable ;ttl = 600 [incoming] ; This section sets defaults for the incoming H.323 calls ; context: string: Input context ;context=default ; maxqueue: int: Maximum length of the routing queue ; Normaly you will like to have this setup to a certain value so someone can't ; do a DoS attack over your server. ;maxqueue=5 ; called: string: Default number to call if not present in call setup ;called= Note: with versions of OpenH323 older than 1.14.4 you need to set the codec availability to "fake" for all codecs not present in OpenH323. This requirement does not apply to newer versions - for these "fake" and "yes" are equivalent. IMPORTANT: Using the OpenH323's internal RTP stack with a format for which there is no OpenH323 codec will lead to a crash. Starting with Yate version 1.1.0 the external RTP is the default so this should not be an issue. If you ever disable Yate's RTP module please consider setting fallback_rtp in section [general] to false. |
3 May 2010: 8 March 2010: 6-7 February 2010: 2 Nov 2009: 6 Aug 2008: 4 Aug 2008: 10 Jul 2008: Feb 2008: 21 Jan 2008: 3 September: 14 August: 16 April: 25 September: 25 September: 11 July 2006: 10 July 2006: June 1st 2006: |