SIP Routing in Yate

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Created page with " From a routing module you can call an sip channel like this: extension=sip/sip:user@ip:port")
 
(Configure a SIP line)
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  
From a routing module you can call an sip channel like this:
+
SIP routing in Yate can be done from a single routing module or from a combination of modules.
  
  extension=sip/sip:user@ip:port
+
The calls can be routed directly to a SIP channel from a routing module (e.g regexroute.conf).
 +
 
 +
Another way to route the calls is by using a SIP line(gateway) configured in accfile.conf.
 +
 
 +
== Route to a SIP channel==
 +
 
 +
From a [[Routing|routing module]] (e.g regexroute.conf) you can call an sip channel like this:
 +
 
 +
  ;extension match rule=sip/sip:user@ip:port
 +
^100$=sip/sip:user@ip:port
 +
 
 +
== Route to a SIP line==
 +
 
 +
=== Configure a SIP line===
 +
 
 +
From [[Accfile|accfile.conf]] you can configure a SIP line. In this case Yate is registers to a remote server.<br>
 +
Sections with enabled=no are always ignored so you have to changed them to enabled=yes.
 +
 
 +
Parameter description for SIP:
 +
*  protocol: The protocol to register on
 +
*  username: Account username
 +
*  password: Account password
 +
*  interval: Registration interval (in seconds) to request from server
 +
*  description: Caller name to set on outgoing calls on this account if none specified when routing
 +
*  registrar: Registrar address. A port can be specified here (e.g. 1.2.3.4:7999)
 +
*  authname: Authentication name to use instead of username when authenticating
 +
*  domain: Authentication domain if any
 +
*  outbound: Optional outbound proxy server if different from registrar. A port can be specified here (e.g. 1.2.3.4:7999)
 +
*  ip_transport: Optional SIP transport to use (UDP, TCP, TLS).
 +
*  ip_transport_localip / ip_transport_localport:
 +
::- UDP: Used to identify the listener to use
 +
::- TCP/TLS: Optional local ip/port to bind on when connecting
 +
 
 +
*  localaddress: Local address to set in sent messages
 +
::-    Set it to 'yes' to detect NAT and re-register with public ip when NAT is detected
 +
::-    Set it to 'no' or ipaddress (e.g. 1.2.3.4 or 1.2.3.4:5060) to disable NAT detection
 +
*  keepalive: Optional interval for NAT keep alive.
 +
'''Note:''' Default port is 5060 for UDP/TCP and 5061 for TLS
 +
 
 +
This is an example:
 +
Configure a SIP line called [test_sip].
 +
 
 +
accfile.conf
 +
[test_sip]
 +
enabled=yes
 +
protocol=sip
 +
username=me
 +
description=Test SIP account
 +
interval=600
 +
authname=metoo
 +
password=1234
 +
domain=somewhere.org
 +
registrar=10.0.0.1:5060
 +
outbound=10.0.0.1:5061
 +
localaddress=192.168.0.1:5062
 +
 
 +
===Route to the configured line===
 +
 
 +
Route a call to the [[Accfile|SIP line]] configured above:
 +
 
 +
regexroute.conf
 +
 
 +
^100$=line/100;line=test_sip
 +
 
 +
*  this rule will match the number called: 100 and will route the call through the gateway
 +
* the line parameter is fixed.
 +
* line=test_sip will tell Yate on which gateway/account to route the call.
 +
 
 +
 
 +
'''See also'''
 +
 
 +
* [[Routing| Routing in Yate]]
 +
* [[Accfile| Accfile module]]
 +
* [[Regular expressions|Regular expressions Route Module]]
 +
* [[Telephony]]
 +
 
 +
[[Category:SIP]] [[Category:Routing]]

Latest revision as of 11:08, 23 November 2017

SIP routing in Yate can be done from a single routing module or from a combination of modules.

The calls can be routed directly to a SIP channel from a routing module (e.g regexroute.conf).

Another way to route the calls is by using a SIP line(gateway) configured in accfile.conf.

Contents

[edit] Route to a SIP channel

From a routing module (e.g regexroute.conf) you can call an sip channel like this:

;extension match rule=sip/sip:user@ip:port
^100$=sip/sip:user@ip:port

[edit] Route to a SIP line

[edit] Configure a SIP line

From accfile.conf you can configure a SIP line. In this case Yate is registers to a remote server.
Sections with enabled=no are always ignored so you have to changed them to enabled=yes.

Parameter description for SIP:

  • protocol: The protocol to register on
  • username: Account username
  • password: Account password
  • interval: Registration interval (in seconds) to request from server
  • description: Caller name to set on outgoing calls on this account if none specified when routing
  • registrar: Registrar address. A port can be specified here (e.g. 1.2.3.4:7999)
  • authname: Authentication name to use instead of username when authenticating
  • domain: Authentication domain if any
  • outbound: Optional outbound proxy server if different from registrar. A port can be specified here (e.g. 1.2.3.4:7999)
  • ip_transport: Optional SIP transport to use (UDP, TCP, TLS).
  • ip_transport_localip / ip_transport_localport:
- UDP: Used to identify the listener to use
- TCP/TLS: Optional local ip/port to bind on when connecting
  • localaddress: Local address to set in sent messages
- Set it to 'yes' to detect NAT and re-register with public ip when NAT is detected
- Set it to 'no' or ipaddress (e.g. 1.2.3.4 or 1.2.3.4:5060) to disable NAT detection
  • keepalive: Optional interval for NAT keep alive.

Note: Default port is 5060 for UDP/TCP and 5061 for TLS

This is an example: Configure a SIP line called [test_sip].

accfile.conf

[test_sip]
enabled=yes
protocol=sip
username=me
description=Test SIP account
interval=600
authname=metoo
password=1234
domain=somewhere.org
registrar=10.0.0.1:5060
outbound=10.0.0.1:5061
localaddress=192.168.0.1:5062

[edit] Route to the configured line

Route a call to the SIP line configured above:

regexroute.conf

^100$=line/100;line=test_sip
  • this rule will match the number called: 100 and will route the call through the gateway
  • the line parameter is fixed.
  • line=test_sip will tell Yate on which gateway/account to route the call.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers