SIP Routing in Yate
(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: | ||
− | + | 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 10: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