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/