Jabber Client With Jingle Yate Server

From Yate Documentation
Jump to: navigation, search

Use the Jingle channel and the Jabberclient module to make and receive calls on Jabber accounts.


Yate jingle server with jabber account.png


Contents

Load Jabber client module

Since jabberclient is a client module, it's 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.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers