[SR-Users] NAT helper frustrations with multiple kamailios

Daniel Tryba daniel at pocos.nl
Wed Feb 5 11:20:36 CET 2014


I'm experiencing some problems getting 2 Kamailios to work together.

A clients - A kamailio - B kamailio - B clients
                             |
                      the outside world


A and B client may or may not be NATed to their own kamailio instance.
A and B kamailio (with forced rtpproxies) are in the same public network.
A-kamailio and its clients are essentially a reseller of my services on the B 
side.

The problem arises when A or B incorrectly flag a message as needing NAT help 
so either an unnecessary  add_contact_alias is added (which seems to happen 
when putting somebody on hold on an A-client). A-kamailio inserts an alias on 
the Contact header containing the ip/port of B-kamailio. Trying to resume the 
call sends the contact with the alias to B-kamailio, which does a 
handle_ruri_alias and thus sets $du to itself, the party that was on hold will 
never receive these messages.

The problem I have with add_contact_alias/handle_ruri_alias is that any 
kamailio in the path will parse these hints whether or not it is actually ment 
for that kamailio. I'd rather see a scheme that somehow identifies  if the 
added alias was generated locally and thus needs to be handled or can just be 
ignored. Anybody else got these problems/frustrations and maybe a hint for an 
other way to tackle this problem? 

Off to figure out why uac_test incorrectly flags the onhold process as needing 
the nat helper...

-- 

POCOS B.V. - Croy 9c - 5653 LC Eindhoven
Telefoon: 040 293 8661 - Fax: 040 293 8658
http://www.pocos.nl/   - http://www.sipo.nl/
K.v.K. Eindhoven 17097024



More information about the sr-users mailing list