Changes between Initial Version and Version 2 of Ticket #1893


Ignore:
Timestamp:
Oct 9, 2015 1:42:13 AM (7 years ago)
Author:
ming
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1893

    • Property Status changed from new to closed
    • Property Resolution changed from to fixed
  • Ticket #1893 – Description

    initial v2  
    66 1. Transport disconnection occurs, normally pjsua will release the disconnected transport from the account, however as transport pointer of account A is NULL, pjsua fails to detect and release it immediately. 
    77  - Note that the transport stays not released/destroyed until a new registration by account A (using a new transport) is issued or the account is deleted. 
     8 
     9Log: 
     10{{{ 
     1114:14:35.020    pjsua_acc.c  .Acc 2: setting registration.. 
     1214:14:35.022     resolver.c  ...Transmitting 41 bytes to NS 0 (8.8.8.8:53): DNS SRV query for _sip._tcp.sip.pjsip.org: Success 
     1314:14:35.022    pjsua_acc.c  ..Setting acc 2 reg_tp to NULL 
     1414:14:35.022    pjsua_acc.c  ..Acc 2: Registration sent 
     15... 
     1614:14:35.102 tcpc0x1694de14  TCP client transport created 
     1714:14:35.103 tcpc0x1694de14  TCP transport 192.168.1.2:51801 is connecting to 208.109.222.137:5060... 
     18}}} 
     19 
     20Which will cause this to happen: 
     21{{{ 
     2210:51:40.669     ioq_select  Attempting to replace UDP socket 4 
     2310:51:40.671     ioq_select  UDP has been replaced successfully! 
     2410:51:40.671     resolver.c  DNS resolver read error from 8.8.8.8:53: Socket is not connected 
     2510:51:40.671 tcpc0x15b99614  TCP connection closed 
     2610:51:40.672    pjsua_app.c  SIP TCP transport is disconnected from [208.109.222.137:5060]: End of file (PJ_EEOF) [status=70016] 
     2710:51:40.672    pjsua_acc.c  Disconnected notification for transport tcpc0x15b99614 
     2810:51:50.694     ioq_select  Attempting to replace UDP socket 4 
     2910:51:50.694     ioq_select  UDP has been replaced successfully! 
     3010:51:50.694     resolver.c  DNS resolver read error from 8.8.8.8:53: Socket is not connected 
     31... 
     3210:52:00.707     ioq_select  Attempting to replace UDP socket 4 
     3310:52:00.708     ioq_select  UDP has been replaced successfully! 
     3410:52:00.708     resolver.c  DNS resolver read error from 8.8.8.8:53: Socket is not connected 
     35 
     36[it will go on, and on, ....., and eventually, it will crash below] 
     37 
     3810:54:00.840     ioq_select  UDP has been replaced successfully! 
     3910:54:10.843     ioq_select  Attempting to replace UDP socket 4 
     4010:54:10.845     ioq_select  UDP has been replaced successfully! 
     4110:54:10.845     resolver.c  DNS resolver read error from 8.8.8.8:53: Socket is not connected 
     4210:54:10.845     ioq_select  Attempting to replace UDP socket 7 
     4310:54:10.845     ioq_select  UDP has been replaced successfully! 
     44(lldb) 
     45}}} 
     46 
     47If the transport is released correctly, what you should be seeing in the log is: 
     48{{{ 
     4912:58:14.836 tcpc0x153b4214  TCP connection closed 
     5012:58:14.836    pjsua_app.c  SIP TCP transport is disconnected from [208.109.222.137:5060]: End of file (PJ_EEOF) [status=70016] 
     5112:58:14.836    pjsua_acc.c  Disconnected notification for transport tcpc0x153b4214 
     5212:58:14.847 tcpc0x153b4214  TCP transport destroyed with reason 70016: End of file (PJ_EEOF) 
     53}}} 
     54 
     55Notice the log saying that the TCP transport has been destroyed. If such message is missing from the log, the first step is to check whether app is still holding a reference to the particular transport. 
     56