Hi!
I hav the following questions about branch handling in openser 1.1.1:
In route[1] I use the dispatcher to forward to the gateway 11.22.33.46. Thus, the DURI will be set. Further I use port 6060 to send calls to the GW. So far everything is ok.
... setting fr_timer to 2 seconds XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX route[1]: request's uri: $ru=sip:123456789@foobar.net route[1]: request's destination uri: $du=sip:11.22.33.46:5060 route[1]: request's force_send_sock: $fs=udp:11.22.33.44:6060 route[1]: request's first branch: $br=<null> route[1]: request's all branches: $bR= route[1]: request's destination set: $ds=Contact: sip:123456789@foobar.net ... t_relay
Then, if the GW does not reply within 2 seconds the failure route triggers:
First question: Why is the DURI set to NULL now?
... entering failure route ERROR: no response from gateway or clients a1.net ... branches before ds_next_dst: $ru=sip:123456789@foobar.net, $du=, $bR= XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX failure_route[1]: request's uri: $ru=sip:123456789@foobar.net failure_route[1]: request's destination uri: $du= failure_route[1]: request's force_send_sock: $fs=udp:11.22.33.44:6060 failure_route[1]: request's first branch: $br=<null> failure_route[1]: request's all branches: $bR= failure_route[1]: request's destination set: $ds=Contact: sip:123456789@foobar.net ... ds_next_dst
branches after ds_next_dst: $ru=sip:123456789@foobar.net, $du=, $bR=sip:123456789@foobar.net XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX failure_route[1]: request's uri: $ru=sip:123456789@foobar.net failure_route[1]: request's destination uri: $du= failure_route[1]: request's force_send_sock: $fs=udp:11.22.33.44:6060 failure_route[1]: request's first branch: $br=sip:123456789@foobar.net failure_route[1]: request's all branches: $bR=sip:123456789@foobar.net failure_route[1]: request's destination set: $ds=Contact: sip:123456789@foobar.net, sip:979004369911 ... activating branch_route ... t_relay
Second question: In the branch route the send_socket is reported as NULL. AFAIK it will be copied from branches[0] to the new branch during ds_next_dst. Also the request is sent from port 6060 - thus it looks like the $fs is wrong in branch_route.
==================================================== branch_route[1]: request's uri: $ru=sip:123456789@foobar.net branch_route[1]: request's destination uri: $du=sip:11.22.33.45:5060 branch_route[1]: request's force_send_sock: $fs=<null> branch_route[1]: request's first branch: $br=sip:123456789@foobar.net branch_route[1]: request's all branches: $bR=sip:123456789@foobar.net branch_route[1]: request's destination set: $ds=Contact: sip:123456789@foobar.net, sip:9790043699111
thanks klaus