Jabber Client With Jingle Yate Server

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Account setup)
(Additional requirements)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  
This page describes the way to use the jingle channel and the jabberclient module to make and receive calls on jabber accounts
+
Use the Jingle channel and the Jabberclient module to make and receive calls on Jabber accounts.
  
  
== Load jabber client module ==
+
[[File:Yate_jingle_server_with jabber_account.png]]
  
Since jabberclient is a client module, not loaded when Yate is running in server mode, you must explicitly load it.
+
 
 +
== 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:
 
To do that set in yate.conf:
  
 
  [postload]
 
  [postload]
 
  ${modulepath}/client/jabberclient${modsuffix}=yes
 
  ${modulepath}/client/jabberclient${modsuffix}=yes
 
  
 
== Account setup ==
 
== Account setup ==
  
Set jabber account in accfile.conf:
+
Set Jabber account in accfile.conf:
  
 
  [MyJabberAccount]
 
  [MyJabberAccount]
Line 43: Line 45:
  
 
'''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.
 
'''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 ==
 
== Routing calls ==
  
 
See [[yjinglechan|Jingle channel]] for more routing details.
 
See [[yjinglechan|Jingle channel]] for more routing details.
 
  
 
=== Outgoing calls ===
 
=== Outgoing calls ===
Line 59: Line 59:
 
The contact must be online, otherwise the call will fail.<br>
 
The contact must be online, otherwise the call will fail.<br>
 
For online contacts the module will pick up the first resource with audio capabilities and will send the call to it.
 
For online contacts the module will pick up the first resource with audio capabilities and will send the call to it.
 
  
 
=== Incoming calls ===
 
=== Incoming calls ===
Line 72: Line 71:
 
  [default]
 
  [default]
 
  ${in_line}MyJabberAccount=sip/sip:called_number@a.b.c.d
 
  ${in_line}MyJabberAccount=sip/sip:called_number@a.b.c.d
 
  
 
== Additional requirements ==
 
== Additional requirements ==
Line 79: Line 77:
 
* The jabber service may require client stream encryption, so make sure the openssl.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.
 
* If you want to use stream compression make sure the zlibcompress.yate module is loaded.
 +
 +
 +
'''See also'''
 +
 +
* [[Jabber Client Module]]
 +
* [[Yjinglechan|JINGLE Module]]
 +
 +
[[Category:Jingle]] [[Category:Jabber]] [[Category:Server]] [[Category:Client]] [[Category:Routing]]

Latest revision as of 17:20, 31 October 2013

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


Yate jingle server with jabber account.png


Contents

[edit] 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

[edit] 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.

[edit] 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.

[edit] Routing calls

See Jingle channel for more routing details.

[edit] 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.

[edit] 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

[edit] 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