SIP Routing in Yate
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.
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
Route to a SIP line
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. 18.104.22.168: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. 22.214.171.124:7999)
- ip_transport: Optional SIP transport to use (UDP, TCP, TLS).
- ip_transport_remoteip: IP address to connect to register the account.
- ip_transport_remoteport: IP port to connect to register the account.
- - UDP: This parameter is used in conjuction ip_transport_localport to identify the transport to use.
- - TCP/TLS: Optional local ip to use when connecting ip_transport_localport: Local port.
- 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. 126.96.36.199 or 188.8.131.52: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].
[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 SIP line configured above:
- 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.