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