Hi,

++ I have registered 3 UACs to the same openser server which are behind NAT.
     UAC 1 -- 111111
     UAC 2 -- 222222
     UAC 3 -- 333333

++ So in location table , I am getting :

     ------------------------------------------------+-----------------------+--------------------------
                         Contact                                |      Received          |
     ------------------------------------------------+-----------------------+--------------------------
         111111@<private-IP>:5060                |  sip:public-IP : 5060|
         222222@<private-IP>:5060                |  sip:public-IP : 5060|
         333333@<private-IP>:5060                |  sip:public-IP : 5060|

++ I have set user preferences :


+------+------------------+-------------------------+-------------+------+------------------------------------------------------+
| uuid | username        | domain                       | attribute   | type | value                                                               |
+------+------------------+-------------------------+-------------+------+------------------------------------------------------+
|         | 222222              | domainname.com     | fwdbusy     |    0 | fwdbusy:sip:333333@domainname.com    
|         | 222222              | domainname.com     | noanscfwd |    0 | noanscfwd:sip:333333@domainname.com
+------+------------------+-------------------------+--------------+------+------------------------------------------------------+

++ I am using mediaproxy for audio signaling.

++ Now I am dialing 222222 using 111111 & keeps 222222 ringing until it stops automatically. So call is being forwarded to 333333.

     111111 ---------------> 222222---------------> 333333

++ I pick up the call . So 111111 & 333333 is connected.

++ Now I hangup 333333 , so it sends BYE request to 111111.

+ Now the problem is 111111 do not accept the BYE request. So it stays connected. & the BYE request keeps looping infinitly in openser.

Here is the BYE request :

Message Body: BYE sip:111111@<server-IP>:5060 SIP/2.0
Via: SIP/2.0/UDP <111111's Private IP>:5060;branch=z9hG4bK-ed33673a;rport
From: <sip:222222@domainname.com>;tag=632a4773b79ebfa8i1
To: Anonymous <sip:111111@domainname.com>;tag=26190b20d13c8197o0
Call-ID: 4d753c94-f366deb3@localhost
CSeq: 101 BYE
Max-Forwards: 70
Route: <sip:[SERVER'sIP]:5060;nat=yes;ftag=26190b20d13c8197o0;lr=on>, <sip:[SERVER's IP]:5060;nat=yes;ftag=26190b20d13c8197o0;lr=on>
User-Agent: Linksys/PAP2T-3.1.15(LS)
Content-Length: 0


 0(5877) DEBUG:maxfwd:is_maxfwd_present: value = 70
 0(5877) #############################record_route###############################
 0(5877) #######################After record_route########################3
 0(5877)  ------         ------ bye ---call tear down ---
  0(5877) parse_headers: flags=78
 0(5877) ##################################Before loose_route##########################
 0(5877) parse_headers: flags=200
 0(5877) is_preloaded: No
 0(5877) grep_sock_info - checking if host==us: 13==13 &&  [SERVER IP] == [SERVER IP]
 0(5877) grep_sock_info - checking if port 5060 matches port 5060
 0(5877) after_strict: Next hop: 'sip:SERVER IP:5060;nat=yes;ftag=26190b20d13c8197o0;lr=on' is loose router
 0(5877) parse_headers: flags=ffffffffffffffff
 0(5877) rewrite_uri: Rewriting Request-URI with 'sip:SERVER IP:5060;nat=yes;ftag=26190b20d13c8197o0;lr=on'
 0(5877) after_strict: The last route URI: 'sip:SERVER IP:5060;nat=yes;ftag=26190b20d13c8197o0;lr=on'
 0(5877) ##################################into loose_route##########################
 0(5877) DEBUG: has_totag: totag found
 0(5877) DEBUG: has_totag: totag found
 0(5877) check_via_address(PUBLIC IP of 111111, PRIVATE IP of 111111, 0)
 0(5877) ##############################client_nat_test or search #########BYE##############################
 0(5877) ###########################setbflag6#################################
 0(5877)  ------         ------ bye - loose route -----
  0(5877) DEBUG: t_newtran:  T on entrance=0xffffffff
 0(5877) parse_headers: flags=ffffffffffffffff
 0(5877) parse_headers: flags=78
 0(5877) t_lookup_request: start searching: hash=16425, isACK=0
 0(5877) DEBUG: RFC3261 transaction matching failed
 0(5877) DEBUG: t_lookup_request: no transaction found
 0(5877) DBG: trans=0xb612d7f8, callback type 1, id 0 entered
 0(5877) DEBUG: mk_proxy: doing DNS lookup...
 0(5877) check_via_address(PUBLIC IP of 111111, PRIVATE IP of 111111, 0)
 0(5877) DBG:check_against_rule_list: using list dns
 0(5877) DEBUG:tm:set_timer: relative timeout is 500000
 0(5877) DEBUG: add_to_tail_of_timer[4]: 0xb612d944 (401700000)
 0(5877) DEBUG:tm:set_timer: relative timeout is 20
 0(5877) DEBUG: add_to_tail_of_timer[0]: 0xb612d960 (421)
 0(5877) DEBUG:tm:t_relay_to: new transaction fwd'ed
 0(5877)  -------------- cheked t reply ---
  0(5877) DEBUG:tm:UNREF_UNSAFE: after is 0
 0(5877) DEBUG:destroy_avp_list: destroying list (nil)
 0(5877) receive_msg: cleaning up


++ From the parsing of BYE request , I found evenif I am doing loose route in cfg , It is doing strict route.

Can you please help me to solve this.

Thanks in advance.
     

--
Regards,
Krunal Patel