Jabber Client With Jingle Yate Server
This page describes the way to use the jingle channel and the jabberclient module to make and receive calls on jabber accounts
Contents |
Load jabber client module
Since jabberclient is a client module, not loaded when Yate is running in server mode, you must explicitly load it.\\ To do that set in yate.conf:
[postload] ${modulepath}/client/jabberclient${modsuffix}=yes |
Account setup
Set jabber account in accfile.conf:
[MyJabberAccount] enabled=yes protocol=jabber username=myusername domain=mydomain password=mypassword |
The account options listed above are required.
The following parameters are optional:
- options: Comma separated list of extra connection options:
- allowplainauth Allow plain password authentication if offered by the server and no other authentication method is available. This flag must be set for GMail accounts.
- tlsrequired Require stream encryption. The connection will fail if encryption is not supported by the server.
- server: Optional server IP address to connect to.
- port: Optional server port to connect to. If set no SRV request will be made to detect jabber server IP/port.
Jingle configuration
By default the jingle channel detects Yate run mode and behaves accordingly. To use it in client mode when Yate runs as server, set in yjinglechan.conf:
[general] servermode=no |
NOTE: If you intend to use the jabberserver module, keep in mind that the jingle channel will handle all jingle iq stanzas when running in client mode. All jingle calls between jabber users will be handled by Yate.
Routing calls
See Jingle channel for more routing details.
Outgoing calls
Calls can be sent to a contact (contact@domain) using the configured account like this:
[default] ^123$=jingle/contact@domain;line=MyJabberAccount |
The contact must be online, otherwise the call will fail.\\ For online contacts the module will pick up the first resource with audio capabilities and will send the call to it.
Incoming calls
You can match incoming calls on a configured account in regexroute.conf preroute handler on the 'in_line' parameter and set the called number:
[contexts] ${in_line}MyJabberAccount=;called=called_number |
or in the route handler:
[default] ${in_line}MyJabberAccount=sip/sip:called_number@a.b.c.d |
Additional requirements
- Some Jingle clients (like GTalk) supports only ICE-UDP audio transports, so make sure the ystunchan.yate module is loaded.
- The jabber service may require client stream encryption, so make sure the openssl.yate module is loaded.
- If you want to use stream compression make sure the zlibcompress.yate module is loaded.