ASSERTION FAILURE WHILE USING ICE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear people,

I am working on an iOS SIP client. I have been able to use pjsip (actually
pjsua) well and am able to make calls without using ICE. I have tried
registering to my own sip server and others such as linphone, send and
receive calls and the app works just fine.

However, when both endpoints are behind symmetric NATs and I have to enable
ICE, the app encounters an assertion failure.

*Assertion failed: (tsx->retransmit_timer.id <http://retransmit_timer.id>
== 0 || !tsx->require_retransmit), function tsx_transmit_msg, file
../src/pjnath/stun_transaction.c, line 204.*

What is curious is that this assertion fails most times but some times it
doesn't and the call goes through. The assertion fails on the application
instance that initiated the call (sent the invite.)

Here is the thread backtrace :

* thread #5: tid = 0x56617, 0x02ea6952
libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT

    frame #0: 0x02ea6952 libsystem_kernel.dylib`__pthread_kill + 10

    frame #1: 0x02e6a167 libsystem_pthread.dylib`pthread_kill + 101

    frame #2: 0x02b7ce12 libsystem_sim_c.dylib`abort + 127

    frame #3: 0x02b47900 libsystem_sim_c.dylib`__assert_rtn + 284

    frame #4: 0x000c8890 Telephone-iOS`tsx_transmit_msg(tsx=0x0ab09770,
mod_count=0) + 176 at stun_transaction.c:203

    frame #5: 0x000c8b8b
Telephone-iOS`pj_stun_client_tsx_retransmit(tsx=0x0ab09770, mod_count=0) +
123 at stun_transaction.c:395

    frame #6: 0x000c3213
Telephone-iOS`pj_stun_session_retransmit_req(sess=0x0bae8814,
tdata=0x0ab09664, mod_count=0) + 419 at stun_session.c:1136

    frame #7: 0x000ac0e1
Telephone-iOS`handle_incoming_check(ice=0x0bae9014, rcheck=0x0bae3b7c) +
1473 at ice_session.c:2769

    frame #8: 0x000ab8fd
Telephone-iOS`pj_ice_sess_start_check(ice=0x0bae9014) + 1101 at
ice_session.c:2095

    frame #9: 0x000b3eea
Telephone-iOS`pj_ice_strans_start_ice(ice_st=0x0bae2a64,
rem_ufrag=0x0992b334, rem_passwd=0x0992b35c, rem_cand_cnt=6,
rem_cand=0x0a2c9614) + 938 at ice_strans.c:1121

    frame #10: 0x0008b161 Telephone-iOS`start_ice(tp_ice=0x0babd864,
tmp_pool=0x0993e980, rem_sdp=0x0a365e14, media_index=0) + 481 at
transport_ice.c:1299

    frame #11: 0x0008a0c5
Telephone-iOS`transport_media_start(tp=0x0babd864, tmp_pool=0x0993e980,
sdp_local=0x0a2d4a14, rem_sdp=0x0a365e14, media_index=0) + 1701 at
transport_ice.c:1489

    frame #12: 0x00091394
Telephone-iOS`pjmedia_transport_media_start(tp=0x0babd864,
tmp_pool=0x0993e980, sdp_local=0x0a2d4a14, sdp_remote=0x0a365e14,
media_index=0) + 84 at transport.h:810

    frame #13: 0x000909e2
Telephone-iOS`transport_media_start(tp=0x0bae6614, pool=0x0993e980,
sdp_local=0x0a2d4a14, sdp_remote=0x0a365e14, media_index=0) + 1666 at
transport_srtp.c:1653

    frame #14: 0x00160614
Telephone-iOS`pjmedia_transport_media_start(tp=0x0bae6614,
tmp_pool=0x0993e980, sdp_local=0x0a2d4a14, sdp_remote=0x0a365e14,
media_index=0) + 84 at transport.h:810

    frame #15: 0x0015f949
Telephone-iOS`pjsua_media_channel_update(call_id=0, local_sdp=0x0a2d4a14,
remote_sdp=0x0a365e14) + 1689 at pjsua_media.c:2641

    frame #16: 0x00144cd0
Telephone-iOS`pjsua_call_on_media_update(inv=0x0a2f9e14, status=0) + 416 at
pjsua_call.c:3738

    frame #17: 0x00127801 Telephone-iOS`inv_negotiate_sdp(inv=0x0a2f9e14) +
321 at sip_inv.c:1704

    frame #18: 0x0012bb69
Telephone-iOS`inv_check_sdp_in_incoming_msg(inv=0x0a2f9e14, tsx=0x0a365264,
rdata=0x0aae9bc4) + 1689 at sip_inv.c:1907

    frame #19: 0x00128568
Telephone-iOS`inv_on_state_calling(inv=0x0a2f9e14, e=0xb0218418) + 840 at
sip_inv.c:3804

    frame #20: 0x00127e4c
Telephone-iOS`mod_inv_on_tsx_state(tsx=0x0a365264, e=0xb0218418) + 124 at
sip_inv.c:656

    frame #21: 0x0010e179
Telephone-iOS`pjsip_dlg_on_tsx_state(dlg=0x0bae2264, tsx=0x0a365264,
e=0xb0218418) + 233 at sip_dialog.c:2008

    frame #22: 0x00110b66 Telephone-iOS`mod_ua_on_tsx_state(tsx=0x0a365264,
e=0xb0218418) + 86 at sip_ua_layer.c:178

    frame #23: 0x0010297c Telephone-iOS`tsx_set_state(tsx=0x0a365264,
state=PJSIP_TSX_STATE_TERMINATED, event_src_type=PJSIP_EVENT_RX_MSG,
event_src=0x0aae9bc4) + 620 at sip_transaction.c:1210

    frame #24: 0x0010674b
Telephone-iOS`tsx_on_state_proceeding_uac(tsx=0x0a365264, event=0xb0218548)
+ 763 at sip_transaction.c:2882

    frame #25: 0x001032a5 Telephone-iOS`pjsip_tsx_recv_msg(tsx=0x0a365264,
rdata=0x0aae9bc4) + 197 at sip_transaction.c:1765

    frame #26: 0x001076f1
Telephone-iOS`mod_tsx_layer_on_rx_response(rdata=0x0aae9bc4) + 273 at
sip_transaction.c:872

    frame #27: 0x000e694e
Telephone-iOS`pjsip_endpt_process_rx_data(endpt=0x0aaca064,
rdata=0x0aae9bc4, p=0xb0218738, p_handled=0xb0218734) + 798 at
sip_endpoint.c:894

    frame #28: 0x000e5d2a Telephone-iOS`endpt_on_rx_msg(endpt=0x0aaca064,
status=0, rdata=0x0aae9bc4) + 778 at sip_endpoint.c:1034

    frame #29: 0x000f232b
Telephone-iOS`pjsip_tpmgr_receive_packet(mgr=0x0aada124, rdata=0x0aae9bc4)
+ 1803 at sip_transport.c:1764

    frame #30: 0x000f8a58 Telephone-iOS`on_data_read(asock=0x0aad4180,
data=0x0aae9c64, size=1625, status=0, remainder=0xb0218968) + 328 at
sip_transport_tcp.c:1298

    frame #31: 0x00032c44
Telephone-iOS`ioqueue_on_read_complete(key=0x0aad109c, op_key=0x0a2eee14,
bytes_read=177) + 228 at activesock.c:490

    frame #32: 0x00026e9d
Telephone-iOS`ioqueue_dispatch_read_event(ioqueue=0x0aaca73c, h=0x0aad109c)
+ 1149 at ioqueue_common_abs.c:591

    frame #33: 0x0002a09d Telephone-iOS`pj_ioqueue_poll(ioqueue=0x0aaca73c,
timeout=0xb0218eb0) + 1629 at ioqueue_select.c:963

    frame #34: 0x000e63ba
Telephone-iOS`pjsip_endpt_handle_events2(endpt=0x0aaca064,
max_timeout=0xb0218f00, p_count=0xb0218f08) + 410 at sip_endpoint.c:741

    frame #35: 0x0015427a
Telephone-iOS`pjsua_handle_events(msec_timeout=10) + 90 at pjsua_core.c:1780

    frame #36: 0x00153970 Telephone-iOS`worker_thread(arg=0x00000000) + 80
at pjsua_core.c:694

    frame #37: 0x0002ca9b Telephone-iOS`thread_main(param=0x0b2c7700) + 219
at os_core_unix.c:523

    frame #38: 0x02e695fb libsystem_pthread.dylib`_pthread_body + 144

    frame #39: 0x02e69485 libsystem_pthread.dylib`_pthread_start + 130

Could someone guide me about what I might be doing wrong because of which
this assertion fails?


Thanks in advance,
Amit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20140127/23156375/attachment-0001.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux