[pjsip] unable to reINVITE call when call is ringing

Bob Voorneveld bob.voorneveld at wearespindle.com
Tue Jan 10 14:16:52 EST 2017


Hi all,

I'm stuck on updating the call when there is a network change and when the call is 180 RINGING.

This is what's happening:

     19 18:39:17.969198    4.944294       iPhone         Server        SIP/SDP  1121   Request: INVITE sip:225 at sipproxy.voipgrid.nl | 
     22 18:39:17.969839    4.944935       Server        iPhone         SIP      424    Status: 100 Trying | 
     25 18:39:17.970483    4.945579       Server        iPhone         SIP      595    Status: 407 Proxy Authentication Required | 
     27 18:39:17.970755    4.945851       iPhone         Server        SIP      500    Request: ACK sip:225 at sipproxy.voipgrid.nl | 
     29 18:39:17.971140    4.946236       iPhone         Server        SIP/SDP  1331   Request: INVITE sip:225 at sipproxy.voipgrid.nl | 
     33 18:39:18.989949    5.965045       Server        iPhone         SIP      868    Status: 180 Ringing | 

Now I force a network change, which will trigger a unregister and register

     57 18:39:24.863085    11.838181      iPhone         Server        SIP      701    Request: REGISTER sip:sipproxy.voipgrid.nl;transport=tcp  (remove 1 binding) | 
     59 18:39:24.864190    11.839286      Server        iPhone         SIP      587    Status: 401 Unauthorized | 
     61 18:39:24.867623    11.842719      iPhone         Server        SIP      915    Request: REGISTER sip:sipproxy.voipgrid.nl;transport=tcp  (remove 1 binding) | 
     62 18:39:24.868169    11.843265      Server        iPhone         SIP      473    Status: 200 OK  (0 bindings) | 
     64 18:39:24.869229    11.844325      iPhone         Server        SIP      801    Request: REGISTER sip:sipproxy.voipgrid.nl;transport=tcp  (1 binding) | 
     65 18:39:24.870765    11.845861      Server        iPhone         SIP      588    Status: 401 Unauthorized | 
     67 18:39:24.872639    11.847735      iPhone         Server        SIP      1017   Request: REGISTER sip:sipproxy.voipgrid.nl;transport=tcp  (1 binding) | 
     68 18:39:24.873235    11.848331      Server        iPhone         SIP      601    Status: 200 OK  (1 binding) | 

At this stage I want to reinvite the call:

pjsua_call_reinvite((pjsua_call_id)self.callId, PJSUA_CALL_UPDATE_CONTACT, NULL);

This is my log output:

pjsua_call.c  .....Unable to reinvite because another media operation is in progress

I can find in the source why this isn't happening, this was added in this changeset:
https://trac.pjsip.org/repos/changeset/4750/pjproject <https://trac.pjsip.org/repos/changeset/4750/pjproject>

So my provisional media count is bigger than my media count. Quick look at the call info, this is what I found in the call_info:

media_cnt = 0

prov_media_cnt = 1

The prov_media array has at the first index a type PJMEDIA_TYPE_AUDIO that is not in de media_cnt.

I'm not aware that I activated something somewhere in the process. Could someone explain where this difference is coming from?

Greets,

Bob

This is the branch I'm working on:
https://github.com/VoIPGRID/VialerSIPLib/tree/feature/fix-reinvite <https://github.com/VoIPGRID/VialerSIPLib/tree/feature/fix-reinvite>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20170110/4ada6532/attachment-0002.html>


More information about the pjsip mailing list