[asterisk-bugs] [JIRA] (ASTERISK-28882) res_pjsip: Contact not completely removed on transport closure

Robert Sutton (JIRA) noreply at issues.asterisk.org
Mon May 11 19:36:25 CDT 2020


     [ https://issues.asterisk.org/jira/browse/ASTERISK-28882?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Sutton updated ASTERISK-28882:
-------------------------------------

    Attachment: asterisk.log.gz

Debug level 3 from startup to first occurance of the error plus a little more.

There is a back trace as I added  __ast_assert_failed to the appropriate place in my build.

The endpoint with the issue in this log is 113

for my own reference if we need to reproduce this my build number is 16.10.0_02

> res_pjsip: Contact not completely removed on transport closure
> --------------------------------------------------------------
>
>                 Key: ASTERISK-28882
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28882
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_pjsip
>    Affects Versions: 16.10.0
>         Environment: ubuntu 18.04 docker
> realtime jssip over WS
>            Reporter: Robert Sutton
>            Assignee: Robert Sutton
>            Severity: Minor
>         Attachments: asterisk.log.gz
>
>
> The logs are full of the below ERROR, they increase in frequency as time goes by.
> It appears that when a remote sip client disconnects abruptly (VPN disconnect) the contact is replaced but some part of the qualify code is still retaining the old contact id and trying to qualify it.
> As the code to timeout the contact has already removed it's reference to this dead contact it is never cleaned up.
> {noformat}
> ERROR[506]: res_pjsip.c:4278 endpt_send_request: Error 171060 'Unsupported transport (PJSIP_EUNSUPTRANSPORT)' sending OPTIONS request to endpoint 113
> {noformat}
> I've acquired the back trace for this error message...
> {noformat}
> # 0: [0x5db45d] asterisk utils.c:2404 __ast_assert_failed()
> # 1: [0x7fe8771b0ea8] res_pjsip.so res_pjsip.c:4285 endpt_send_request()
> # 2: [0x7fe8771b1625] res_pjsip.so res_pjsip.c:4477 ast_sip_send_out_of_dialog_request()
> # 3: [0x7fe8771b73ce] res_pjsip.so pjsip_options.c:908 sip_options_qualify_contact()
> # 4: [0x4645a7] asterisk astobj2_container.c:328 internal_ao2_traverse()
> # 5: [0x46487f] asterisk astobj2_container.c:414 __ao2_callback()
> # 6: [0x7fe8771b7561] res_pjsip.so pjsip_options.c:930 sip_options_qualify_aor()
> # 7: [0x7fe8771e671c] res_pjsip.so pjsip_scheduler.c:98 run_task()
> # 8: [0x5c5736] asterisk taskprocessor.c:1239 ast_taskprocessor_execute()
> # 9: [0x5cf3e0] asterisk threadpool.c:1354 execute_tasks()
> #10: [0x5c5736] asterisk taskprocessor.c:1239 ast_taskprocessor_execute()
> #11: [0x5cd02a] asterisk threadpool.c:367 threadpool_execute()
> #12: [0x5cec43] asterisk threadpool.c:1137 worker_active()
> #13: [0x5ce9dd] asterisk threadpool.c:1057 worker_start()
> #14: [0x5d83b7] asterisk utils.c:1249 dummy_start()
> #15: [0x7fe8c2e4e6ba] libpthread.so.0 :0 __pthread_get_minstack()
> #16: [0x7fe8c20e341d] libc.so.6 :0 clone()
> {noformat}
> here is the contact that "pjsip show contacts" lists
> {noformat}
>   Contact:  113/sip:na89q83p at 127.0.0.1:35636;transport=WS  f21857cece Avail        23.087
> {noformat}
> and here you can see it is qualifying 2 contacts, 
> {noformat}
> DEBUG[506]: res_pjsip/pjsip_options.c:857 sip_options_qualify_contact: Qualifying contact '113;@0f05565353fc038d2259556e7a9d87e1' on AOR '113'
> DEBUG[506]: res_pjsip/pjsip_options.c:857 sip_options_qualify_contact: Qualifying contact '113;@f21857cece07658a2e96e470283f3ea1' on AOR '113'
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list