Hello all,
i'm facing some problems with loose_route, may it be with ACK or BYE
messages.
Here is the situation :
- 2 softphones : let's call them A and B (on different IP addresses :
/A_ip /and/ B_ip/).
A's username is "voip2".
A registers on this platform :
- a stateless SER on /stateless_ip/
- a statefull SER on /statefull_ip/
B registers on another platform that i do not know (see /Bplatform_ip/)
When B calls A, INVITE messages are smoothly forwarded and relayed.
Same case for trying, OK and 180 ringing.
However, when B sends ACK after (INVITE, trying, OK), here is what ser
stateless receives :
ACK sip:voip2@/stateless_ip/ SIP/2.0
Record-Route: <sip:voip2@/Bplatform_ip/;ftag=368e6f71;lr=on>
Via: SIP/2.0/UDP /Bplatform_ip/;branch=0
Via: SIP/2.0/UDP
/B_ip/:64064;received=/B_public_ip/;branch=z9hG4bK-d87543-226b496c2343f701-1--d87543-;rport=2301
Max-Forwards: 69
Route: <sip:/stateless_ip/;lr=on> (****)
Route: <sip:/statefull_ip/;ftag=368e6f71;lr=on> (****)
Route: <sip:/stateless_ip/;lr=on>
this message is loose_routed and then forwarded (loose_route();
forward(uri:host, uri:port);)
and then here is what ser stateless sends to ser statefull :
ACK sip:/stateless_ip/;lr=on SIP/2.0
Record-Route: <sip:voip2@/Bplatform_ip/;ftag=368e6f71;lr=on>
Via: SIP/2.0/UDP /stateless_ip/;branch=0
Via: SIP/2.0/UDP /Bplatform_ip/;branch=0
Via: SIP/2.0/UDP
/B_ip/:64064;received=/B_public_ip/;branch=z9hG4bK-d87543-226b496c2343f701-1--d87543-;rport=2301
Max-Forwards: 16
Route: <sip:/stateless_ip/;lr=on>
Here are my parameters for ser stateless concerning rr module :
modparam("rr", "enable_full_lr", 1)
modparam("rr", "enable_double_rr", 0)
modparam("rr","append_fromtag",0)
Then, there are two things that i don't understand and make confusion to
ser statefull:
- why did (****) Routes disappear ?
- why did ruri changed in ACK message sent to ser statefull?
any help would be appreciated, thanks in advance,
--
Jean-Michel Foucher
OpenWengo, the free and multiplatform VoIP client
http://dev.openwengo.com/