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/