[OpenSIPS-Users] invite contact not updated

Bogdan-Andrei Iancu bogdan at opensips.org
Thu May 28 15:53:11 CEST 2015


Hi,

Not sure if this was your finding too, but here it is : as opensips is a 
proxy, it does not change the contact header - the contract identifies 
the end points involved in the dialog.

But there are some corner cases where the contact URI may be changed by 
a proxy, for example to help with the NAT traversal - still it is not 
pushing itself into contact, but fixes the end-points's contact 
(replacing the private with public IP).

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 28.05.2015 01:26, discodog62 at aol.com wrote:
> Never mind I figured it out.  It was me just being a moron.
>
>
>
> if this helps any here is a trace
>
>
> DBG:core:parse_msg: SIP Request:
> DBG:core:parse_msg:  method:  <INVITE>
> DBG:core:parse_msg:  uri: <sip:18885551212 at 192.168.2.55 
> <mailto:18885551212 at 192.168.2.55>:5060>
> DBG:core:parse_msg:  version: <SIP/2.0>
> DBG:core:parse_headers: flags=2
> DBG:core:parse_to: end of header reached, state=10
> DBG:core:parse_to: display={}, ruri={sip:18885551212 at 192.168.2.55 
> <mailto:18885551212 at 192.168.2.55>:5060}
> DBG:core:get_hdr_field: <To> [37]; uri=[sip:18885551212 at 192.168.2.55 
> <mailto:18885551212 at 192.168.2.55>:5060]
> [71B blob data]
> DBG:core:get_hdr_field: cseq <CSeq>: <1> <INVITE>
> DBG:core:parse_via_param: found param type 232, <branch> = 
> <z9hG4bK-e99f0-39095418-b2223c7>; state=16
> DBG:core:parse_via: end of header reached, state=5
> DBG:core:parse_headers: via found, flags=2
> DBG:core:parse_headers: this is the first via
> DBG:core:receive_msg: After parse_msg...
> DBG:core:receive_msg: preparing to run routing scripts...
> DBG:core:comp_scriptvar: str 20 : false
> DBG:core:parse_headers: flags=100
> DBG:maxfwd:is_maxfwd_present: value = 70
> DBG:core:parse_to_param: 
> tag=982ce18-3d4a4cc7-13c8-55013-e99f0-5148929-e99f0
> DBG:core:parse_to: end of header reached, state=29
> DBG:core:parse_to: display={}, ruri={sip:6198885555 at 192.168.2.50 
> <mailto:6198885555 at 192.168.2.50>}
> DBG:core:pv_get_xto_attr: no Display name
> DBG:core:pv_get_xto_attr: no Display name
> DBG:uri:has_totag: no totag
> DBG:core:buf_init: initializing...
> === no tag ===
> DBG:core:comp_scriptvar: str 29 : 18885551212
> DBG:core:comp_scriptvar: str 20 : 6198885555
> DBG:core:comp_scriptvar: str 20 : 6198885555
> DBG:uri:has_totag: no totag
> DBG:core:parse_headers: flags=78
> DBG:tm:t_lookup_request: start searching: hash=41616, isACK=0
> DBG:tm:matching_3261: RFC3261 transaction matching failed
> DBG:tm:t_lookup_request: no transaction found
> DBG:core:parse_headers: flags=200
> DBG:core:get_hdr_field: content_length=142
> DBG:core:get_hdr_field: found end of header
> DBG:rr:find_first_route: No Route headers found
> DBG:rr:loose_route: There is no Route HF
> DBG:core:grep_sock_info: checking if host==us: 12==12 && 
>  [192.168.2.55] == [192.168.2.55]
> DBG:core:grep_sock_info: checking if port 5060 matches port 5060
> DBG:uri:has_totag: no totag
> ((((((((( NEW CALL ))))))))))
> DBG:load_balancer:do_load_balance: found requested (0) resource pstn
> DBG:dialog:build_new_dlg: new dialog 0x7f7b65979ec8 
> (c=9c51f50-3d4a4cc7-13c8-55013-e99f0-60df88db-e99f0,f=sip:6198885555 at 192.168.2.50 
> <mailto:6198885555 at 192.168.2.50>,t=sip:18885551212 at 192.168.2.55 
> <mailto:18885551212 at 192.168.2.55>:5060,ft=982ce18-3d4a4cc7-13c8-55013-e99f0-5148929-e99f0) 
> on hash 601
> DBG:core:parse_headers: flags=ffffffffffffffff
> DBG:dialog:init_leg_info: route_set , contact sip:192.168.2.50:5064, 
> cseq 1 and bind_addr udp:192.168.2.55:5060
> DBG:dialog:dlg_add_leg_info: set leg 0 for 0x7f7b65979ec8: 
> tag=<982ce18-3d4a4cc7-13c8-55013-e99f0-5148929-e99f0> rcseq=<0>
> DBG:dialog:link_dlg: ref dlg 0x7f7b65979ec8 with 3 -> 3 in h_entry 
> 0x7f7b6594e178 - 601
> DBG:rr:add_rr_param: adding (;did=952.e26c7534) 0x7f7b6a505658
> DBG:load_balancer:do_load_balance: destination <sip:10.5.4.3:5060> 
> selected for LB set with free=5000 (max=5000)
> DBG:dialog:link_dlg_profile: Entered here with hash = 5
> DBG:load_balancer:do_load_balance: winning destination 
> <sip:10.5.4.3:5060> selected for LB set with free=5000
> Sending call to sip:10.5.4.3:5060
> === ROUTE relay ===
> DBG:tm:t_newtran: transaction on entrance=(nil)
> DBG:core:parse_headers: flags=ffffffffffffffff
> DBG:core:parse_headers: flags=78
> DBG:tm:t_lookup_request: start searching: hash=41616, isACK=0
> DBG:tm:matching_3261: RFC3261 transaction matching failed
> DBG:tm:t_lookup_request: no transaction found
> DBG:tm:run_reqin_callbacks: trans=0x7f7b6597aaa0, callback type 1, id 
> 2 entered
> DBG:siptrace:trace_onreq_in: trace on req in
> DBG:siptrace:trace_onreq_in: nothing to trace...
> DBG:tm:run_reqin_callbacks: trans=0x7f7b6597aaa0, callback type 1, id 
> 1 entered
> DBG:dialog:dlg_onreq: t hash_index = 41616, t label = 727808029
> DBG:tm:run_reqin_callbacks: trans=0x7f7b6597aaa0, callback type 1, id 
> 0 entered
> DBG:core:parse_headers: flags=ffffffffffffffff
> DBG:core:check_ip_address: params 192.168.2.50, 192.168.2.50, 0
> DBG:core:_shm_resize: resize(0) called
> DBG:tm:_reply_light: reply sent out. buf=0x7f7b6a505b80: SIP/2.0 1..., 
> shmem=0x7f7b6597e000: SIP/2.0 1
> DBG:tm:_reply_light: finished
> new branch at sip:18885551212 at 192.168.2.55 
> <mailto:18885551212 at 192.168.2.55>:5060
> DBG:core:_shm_resize: resize(0) called
> DBG:core:mk_proxy: doing DNS lookup...
> DBG:core:check_ip_address: params 192.168.2.50, 192.168.2.50, 0
> DBG:tm:set_timer: relative timeout is 500000
> DBG:tm:insert_timer_unsafe: [4]: 0x7f7b6597acc0 (12700000)
> DBG:tm:insert_timer_unsafe: [0]: 0x7f7b6597acf0 (17)
> DBG:tm:t_relay_to: new transaction fwd'ed
> DBG:tm:t_unref: UNREF_UNSAFE: [0x7f7b6597aaa0] after is 0
> DBG:dialog:unref_dlg: unref dlg 0x7f7b65979ec8 with 1 -> 2 in entry 
> 0x7f7b6594e178
> DBG:core:destroy_avp_list: destroying list (nil)
> DBG:core:receive_msg: cleaning up
> DBG:tm:utimer_routine: timer routine:4,tl=0x7f7b6597acc0 next=(nil), 
> timeout=12700000
> DBG:tm:retransmission_handler: retransmission_handler : request 
> resending (t=0x7f7b6597aaa0, INVITE si ... )
> DBG:tm:set_timer: relative timeout is 1000000
> DBG:tm:insert_timer_unsafe: [5]: 0x7f7b6597acc0 (13700000)
> DBG:tm:retransmission_handler: retransmission_handler : done
> DBG:tm:utimer_routine: timer routine:5,tl=0x7f7b6597acc0 next=(nil), 
> timeout=13700000
> DBG:tm:retransmission_handler: retransmission_handler : request 
> resending (t=0x7f7b6597aaa0, INVITE si ... )
> DBG:tm:set_timer: relative timeout is 2000000
> DBG:tm:insert_timer_unsafe: [6]: 0x7f7b6597acc0 (15700000)
> DBG:tm:retransmission_handler: retransmission_handler : done
> DBG:tm:utimer_routine: timer routine:6,tl=0x7f7b6597acc0 next=(nil), 
> timeout=15700000
> DBG:tm:retransmission_handler: retransmission_handler : request 
> resending (t=0x7f7b6597aaa0, INVITE si ... )
> DBG:tm:set_timer: relative timeout is 4000000
> DBG:tm:insert_timer_unsafe: [7]: 0x7f7b6597acc0 (19700000)
> DBG:tm:retransmission_handler: retransmission_handler : done
> DBG:tm:timer_routine: timer routine:0,tl=0x7f7b6597acf0 next=(nil), 
> timeout=17
> DBG:tm:final_response_handler: Cancel sent out, sending 408 
> (0x7f7b6597aaa0)
> DBG:tm:t_should_relay_response: T_code=100, new_code=408
> DBG:tm:t_pick_branch: picked branch 0, code 408 (prio=800)
> DBG:tm:is_3263_failure: dns-failover test: branch=0, last_recv=408, 
> flags=1
> DBG:tm:t_should_relay_response: trying DNS-based failover
> DBG:core:buf_init: initializing...
> DBG:tm:relay_reply: branch=0, save=0, relay=0
> DBG:core:parse_headers: flags=ffffffffffffffff
> DBG:core:check_ip_address: params 192.168.2.50, 192.168.2.50, 0
> DBG:tm:set_timer: relative timeout is 500000
> DBG:tm:insert_timer_unsafe: [4]: 0x7f7b6597abe8 (18300000)
> DBG:tm:insert_timer_unsafe: [0]: 0x7f7b6597ac18 (22)
> DBG:tm:run_trans_callbacks: trans=0x7f7b6597aaa0, callback type 64, id 
> 0 entered
> DBG:dialog:next_state_dlg: dialog 0x7f7b65979ec8 changed from state 1 
> to state 5, due event 4
> DBG:dialog:dlg_onreply: dialog 0x7f7b65979ec8 failed (negative reply)
> DBG:dialog:unref_dlg: unref dlg 0x7f7b65979ec8 with 1 -> 1 in entry 
> 0x7f7b6594e178
> DBG:tm:relay_reply: sent buf=0x7f7b6a503fb8: SIP/2.0 4..., 
> shmem=0x7f7b6597e000: SIP/2.0 4
> DBG:tm:final_response_handler: done
> DBG:core:parse_msg: SIP Request:
> DBG:core:parse_msg:  method:  <ACK>
> DBG:core:parse_msg:  uri: <sip:18885551212 at 192.168.2.55 
> <mailto:18885551212 at 192.168.2.55>:5060>
> DBG:core:parse_msg:  version: <SIP/2.0>
> DBG:core:parse_headers: flags=2
> DBG:core:parse_to_param: tag=437b53e9a7a9203383c6e10ee6ce432c-3416
> DBG:core:parse_to: end of header reached, state=29
> DBG:core:parse_to: display={}, ruri={sip:18885551212 at 192.168.2.55 
> <mailto:18885551212 at 192.168.2.55>:5060}
> DBG:core:get_hdr_field: <To> [79]; uri=[sip:18885551212 at 192.168.2.55 
> <mailto:18885551212 at 192.168.2.55>:5060]
> DBG:core:get_hdr_field: to body [<sip:18885551212 at 192.168.2.55 
> <mailto:18885551212 at 192.168.2.55>:5060>]
> DBG:core:get_hdr_field: cseq <CSeq>: <1> <ACK>
> DBG:core:parse_via_param: found param type 232, <branch> = 
> <z9hG4bK-e99f0-39095418-b2223c7>; state=16
> DBG:core:parse_via: end of header reached, state=5
> DBG:core:parse_headers: via found, flags=2
> DBG:core:parse_headers: this is the first via
> DBG:core:receive_msg: After parse_msg...
> DBG:core:receive_msg: preparing to run routing scripts...
> DBG:sl:sl_filter_ACK: to late to be a local ACK!
> DBG:core:comp_scriptvar: str 20 : false
> DBG:core:parse_headers: flags=100
> DBG:maxfwd:is_maxfwd_present: value = 70
> DBG:core:parse_to_param: 
> tag=982ce18-3d4a4cc7-13c8-55013-e99f0-5148929-e99f0
> DBG:core:parse_to: end of header reached, state=29
> DBG:core:parse_to: display={}, ruri={sip:6198885555 at 192.168.2.50 
> <mailto:6198885555 at 192.168.2.50>}
> DBG:core:pv_get_xto_attr: no Display name
> DBG:core:pv_get_xto_attr: no Display name
> DBG:uri:has_totag: totag found
> DBG:core:buf_init: initializing...
> === HAS TO TAG ===
> DBG:core:parse_headers: flags=200
> DBG:core:get_hdr_field: content_length=0
> DBG:core:get_hdr_field: found end of header
> DBG:rr:find_first_route: No Route headers found
> DBG:rr:loose_route: There is no Route HF
> === LOOSE ELSE ACK ===
> DBG:core:parse_headers: flags=78
> DBG:tm:t_lookup_request: start searching: hash=41616, isACK=1
> DBG:tm:matching_3261: RFC3261 transaction matched, 
> tid=-e99f0-39095418-b2223c7
> DBG:tm:t_lookup_request: REF_UNSAFE:[0x7f7b6597aaa0] after is 1
> DBG:tm:t_lookup_request: transaction found (T=0x7f7b6597aaa0)
> DBG:tm:cleanup_uac_timers: RETR/FR timers reset
> DBG:tm:insert_timer_unsafe: [2]: 0x7f7b6597ab20 (22)
> DBG:tm:t_unref: UNREF_UNSAFE: [0x7f7b6597aaa0] after is 0
> DBG:core:destroy_avp_list: destroying list 0x7f7b6597a980
> DBG:core:receive_msg: cleaning up
> DBG:tm:utimer_routine: timer routine:4,tl=0x7f7b6597abe8 next=(nil), 
> timeout=18300000
> DBG:tm:utimer_routine: timer routine:7,tl=0x7f7b6597acc0 next=(nil), 
> timeout=19700000
> DBG:tm:timer_routine: timer routine:0,tl=0x7f7b6597ac18 next=(nil), 
> timeout=22
> DBG:tm:timer_routine: timer routine:2,tl=0x7f7b6597ab20 next=(nil), 
> timeout=22
> DBG:tm:wait_handler: removing 0x7f7b6597aaa0 from table
> DBG:tm:delete_cell: delete transaction 0x7f7b6597aaa0
> DBG:dialog:next_state_dlg: dialog 0x7f7b65979ec8 changed from state 5 
> to state 5, due event 1
> DBG:dialog:unref_dlg: unref dlg 0x7f7b65979ec8 with 1 -> 0 in entry 
> 0x7f7b6594e178
> DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f7b65979ec8
> DBG:dialog:destroy_dlg: destroing dialog 0x7f7b65979ec8
> DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 
> 0x7f7b65979ec8 [601:1129825838] with clid 
> '9c51f50-3d4a4cc7-13c8-55013-e99f0-60df88db-e99f0' and tags 
> '982ce18-3d4a4cc7-13c8-55013-e99f0-5148929-e99f0' 'NULL'
> DBG:tm:wait_handler: done
>
>
>
> -----Original Message-----
> From: discodog62 <discodog62 at aol.com <mailto:discodog62 at aol.com>>
> To: users <users at lists.opensips.org <mailto:users at lists.opensips.org>>
> Sent: Wed, May 27, 2015 2:00 pm
> Subject: invite contact not updated
>
> Good afternoon,
> I am running opensips 1.11.4-tls.  I have 2 interfaces. an internal 
> interface has 3 ip's and the external interface has 2 ips configured.
>
> My problem goes like so...
>
> 192.168.2.50 server sending call
> 1 92.168.2.55 opensips server
> 10.5.4.3 destination of call
>
> call comes in from 192.168.2.50 -> 192.168.2.55 -> 10.5.4.3
>
> for some reason the invite that is sent from 192.168.2.55 to 10.5.4.3 
> has the contact ip for 192.168.2.50. I am not sure why opensips did 
> not update the contact on the new invite to the termination gateway.
>
> My other routes all work fine.  I am just having an issue with just 
> this one route.  the ip of 192.168.2.55 is the 2nd ip on my network 
> interface (eth2)
>
> Is there something that I am missing?
>
> Thanks,
>
> James
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20150528/fbbd70d9/attachment-0001.htm>


More information about the Users mailing list