Upgrade 3CX to v18 and get it hosted free!

Asterisk sip outboundproxy

Author image

SIP setting: outboundproxy

New in Asterisk 1.2
outboundproxy = IP_address or DNS SRV name
SRV name, hostname, or IP address of the outbound SIP Proxy (DNS SRV excluding the _sip._udp prefix)

Use cases

Typical proxies are OpenSER, SER. Another product is sipproxd which can act as a transparent proxy for Asterisk, i.e. you do not need to activate the outboundproxy= setting in sip.conf.

  • you might want to protect Asterisk boxes and place them inside your LAN whereas the SIP proxy is in your DMZ or exposed to the Internet
  • you might want to add support for either SIP-over-TCP (for Microsoft Speech products) or TLS/SRTP for encryption
  • you might want to load balance several Asterisk boxes

Example

outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the peer
; Call-limits will not be enforced on real-time peers,
; since they are not stored in-memory

Notes

Be aware: Asterisk 1.2 is known to have incomplete/partially buggy outboundproxy support. Asterisk 1.6 (currently under development) will probably come with support for two types of outboundproxy settings, one where only the first message of a SIP dialog is sent to the proxy and we rely on Via: headers for all subsequent messages, and secondly the current implementation where Asterisk blindly sends everything through the the proxy.

Asterisk 1.8+

  • ;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the devices
  • ;outboundproxy=proxy.provider.domain:8080 ; send outbound signaling to this proxy, not directly to the devices
  • ;outboundproxy=proxy.provider.domain,force ; Send ALL outbound signalling to proxy, ignoring route: headers
  • ;outboundproxy=tls://proxy.provider.domain ; same as ‘=proxy.provider.domain’ except we try to connect with tls
  • ;outboundproxy=192.0.2.1 ; IPv4 address literal (default port is 5060)
  • ;outboundproxy=2001:db8::1 ; IPv6 address literal (default port is 5060)
  • ;outboundproxy=192.168.0.2.1:5062 ; IPv4 address literal with explicit port
  • ;outboundproxy=2001:db8::1:5062 ; IPv6 address literal with explicit port
  • ; ; (could also be tcp,udp) – defining transports on the proxy line only
  • ; ; applies for the global proxy, otherwise use the transport= option

Take note of the ‘force’ parameter, which helps a lot when using OpenSIPS/Kamaillio integration.

See also

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.