Hi there,

I'm having a problem when I try to send a large INVITE with Sofia. When the
stack detects that my INVITE exceeds the MTU and the default transport is
UDP, it correctly tries to send it via TCP. However, if the TCP connection
fails, when sofia tries to fall back to UDP again the INVITE does not get
sent to the network. I've captured a log:

nua: nh_create_handle: entering
nua: nua_invite: entering
nua(0x81429d8): sent signal r_invite
nua: nua_stack_set_params: entering
nta_leg_tcreate(0x40502908)
nua(0x81429d8): adding session usage
nua: unknown Content-Type: multipart/mixed
nta: selecting scheme sip
tport_tsend(0x8140540) tpn = */10.10.10.236:5060
tport_resolve addrinfo = 10.10.10.236:5060
tport_by_addrinfo(0x8140540): not found by name */10.10.10.236:5060
nta: INVITE (110482403) too large for UDP, trying TCP
tport_tsend(0x81407e8) tpn = tcp/10.10.10.236:5060
tport_resolve addrinfo = 10.10.10.236:5060
tport_by_addrinfo(0x81407e8): not found by name tcp/10.10.10.236:5060
tport_alloc_secondary(0x81407e8): new secondary tport 0x40501430
tport_base_connect(0x40501430): connecting to tcp/10.10.10.236:5060/sip
tport(0x40501430): reset timer
tport_queue(0x40501430): queueing 0x40505310 for tcp/10.10.10.236:5060
nta: sent INVITE (110482403) to tcp/10.10.10.236:5060
tport_pend(0x40501430): pending 0x40505310 for tcp/10.10.10.236:5060
(already 0)
nta: timer shortened to 5000 ms
nua(0x81429d8): call state changed: init -> calling
nua: nua_application_event: entering
nta: timer N3 fired, try UDP instead INVITE (110482403)
tport_release(0x40501430): 0x40505310 by 0x40500a38 with (nil)
nta: INVITE (110482403) TCP refused, trying UDP
tport(0x40501430): reset timer
nta: timer set next to 7676 ms
nta: timer J fired, terminate 200 response
incoming_reclaim_all((nil), (nil), 0xbe7ff9ac)
nta_incoming_timer: 0/0 resent, 0/0 tout, 1/4 term, 1/4 free
nta: timer set next to 2104 ms
nta: timer J fired, terminate 200 response
incoming_reclaim_all((nil), (nil), 0xbe7ff9ac)
nta_incoming_timer: 0/0 resent, 0/0 tout, 1/3 term, 1/3 free
nta: timer set next to 7238 ms
nta: timer J fired, terminate 200 response
incoming_reclaim_all((nil), (nil), 0xbe7ff9ac)
nta_incoming_timer: 0/0 resent, 0/0 tout, 1/2 term, 1/2 free
nta: timer set next to 2693 ms
nua: nua_cancel: entering
nua(0x81429d8): sent signal r_cancel
nua: nua_stack_set_params: entering
nta: delayed sending CANCEL (110482403)
nta: timer J fired, terminate 200 response
incoming_reclaim_all((nil), (nil), 0xbe7ff9ac)
nta_incoming_timer: 0/0 resent, 0/0 tout, 1/1 term, 1/1 free
nta: timer set next to 7215 ms
nta: timer B fired, timeout INVITE (110482403)
nua(0x81429d8): call state changed: calling -> terminated
nta: outgoing_free(0x40500a38)
nua(0x81429d8): removing session usage
nta_leg_destroy(0x40502908)
nta_leg_destroy((nil))
nta_outgoing_timer: 0/0 resent, 1/1 tout, 0/0 term, 0/2 free
nta: timer set next to 5000 ms
nua: nua_application_event: entering
nua: nua_ack: entering
nua(0x81429d8): sent signal r_ack
nua: nua_application_event: entering
nua: nua_application_event: entering
nua: nua_application_event: entering
nua: nua_handle_magic: entering
nua: nua_handle_bind: entering
nua: nua_handle_destroy: entering
nua(0x81429d8): sent signal r_destroy
nta_leg_destroy((nil))
nta: timer K fired, terminate CANCEL (110482403)
outgoing_reclaim_all((nil), (nil), 0xbe7ff9ac)
nta_outgoing_timer: 0/0 resent, 0/0 tout, 1/1 term, 1/1 free
nta: timer not set
tport_connected(0x40501430): events ERR
nta_agent: tport: Connection timed out
tport_close(0x40501430): tcp/10.10.10.236:5060/sip



After the "nta: INVITE (110482403) TCP refused, trying UDP" message nothing
happens until the timers start firing. Shouldn't the UDP INVITE be sent
immediately after sofia verifies that TCP has failed? Is it waiting on a
timer of some sort? Am I missing something here?
This is with Sofia-SIP 1.12.10.
Thanks in advance.

Fabio
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to