Sadly, this is expected behavior as the hangup MUST be confirmed by the sip partner (the other phone or whatever). And that is exactly what PJSIP is doing. To make it useful, and avoid user confusion, just do the following: 1. execute hangup 2. disconnect the conf_slot (disables audio) 3. update your UI, so that it looks like as the call was completed (e.g. hangup succesfully) The call will either timeout (in 32s) or hangup-ACK by the partner. PS: Was also discussed in CSipSimple - and there exactly your described behavior is done. (Sorry couldn't find the mailing list discussion). --- Dennis Guse On Wed, Jan 29, 2014 at 8:40 AM, Vinay <vinay.nair at novanet.net> wrote: > Hi, > > We are building an iOS VOIP application using pjsua with PJSIP 2.0. > > To end the call we are using pjsua_call_hangup() and pjsua_call_hangup_all ), > but we get some cases now and then where the call end signal has been sent > but audio transmission is still alive. > > 1) Is there a way to end the exchange of media immediately when disconnect > is pressed without using hangup > 2) If not what is cleanest way to end a call, such that media exchange > also stops regardless of the BYE message is received by the server or not > and regardless of network connectivity. > 3) We also tried using pjsua_destroy(), but it led to a lot of crashes. > Tried fixing some but crashes kept coming probably due to an improper > implementation. > > Thanks, > Vinay Nair > > > > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20140129/42cbfd7e/attachment-0001.html>