[asterisk-dev] Pinetree :: For Asterisk SIP trunks behind a SIP proxy

Olle E. Johansson oej at edvina.net
Tue Sep 1 09:00:17 CDT 2009


Hackers!

In the middle of the debate about peer matching, I'm adding another  
recipe to the pot: Peer matching behind a SIP proxy.

Many of us implement asterisk behind SIP proxys for load balancing or  
failover or both. That means that all messages to Asterisk is sent by  
the proxy and all peer matching on IP/port fails. Asterisk simply  
doesn't know how to separate the devices behind the proxy.

With my new code, you can add a rule to the SIP proxy [peer] section,  
saying "don't match me, match who sent to me". The way Asterisk does  
that, is by reading the second VIA header. This is the device that  
sent the message to Asterisk - another proxy or an endpoint. You can  
also be very strict and say "match last via" - which always will be  
the other endpoint.

The benefit of all this is that all Asterisk features now work -  
accountcode, codec settings, authentication. You can provision  
different SIP trunks with different features, even though Asterisk is  
hidden by a proxy.

For outbound calls, you use the outbound proxy setting as before.

This is in my branch oej/pinetree-trunk and soon on reviewboard.

Developed with sponsorship from a service provider, used in production  
for a few months now.

Cheers,
/O



More information about the asterisk-dev mailing list