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>