< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate-users] Assert error when received the OPTIONS


I don't think removing the assert is sufficient.  This will need to go into the queue of things to address when someone gets some cycles.  Of course, if you fix it yourself, we would be happy for the contribution.

Regards,
Scott

Sent from my iPhone

On Sep 10, 2014, at 8:56 PM, Herbert Karajan <boost.regex@xxxxxxxxx> wrote:

Hi Scott, excuse me, can I expect the fix ? Or just simply to remove the assert to fix it ?

Best regards,

On Wed, Sep 10, 2014 at 9:43 PM, Herbert Karajan <boost.regex@xxxxxxxxx> wrote:
Yes, this is a in-dialog OPTIONS, the call-ID is same to the INVITE.

BR,

On Wed, Sep 10, 2014 at 9:41 PM, Scott Godin <sgodin@xxxxxxxxxxxxxxx> wrote:
Actually it appears that the OPTIONS requests are part of the INVITE session dialog.  That is causing the assert when the 2nd request is received within the same dialog:
            // only can be one ServerOutOfDialogReq at a time
            assert(mServerOutOfDialogRequest == 0);

Although I've never run across an implementation that send in-dialog OPTIONS - it does appear to be allowed by RFC3261:
   An OPTIONS request MAY be sent as part of an established dialog to
   query the peer on capabilities that may be utilized later in the
   dialog.

It appears you have uncovered a bug in resip that needs to be fixed.
Scott

On Wed, Sep 10, 2014 at 9:29 AM, Herbert Karajan <boost.regex@xxxxxxxxx> wrote:
Maybe this is the wrong ? I respond the OPTIONS request as below:

void UserAgent::onReceivedRequest(ServerOutOfDialogReqHandle h, const SipMessage& request)
{
if (request.method() == OPTIONS)
{
mDum->send(h->answerOptions());
                return;
}
}

On Wed, Sep 10, 2014 at 9:24 PM, Herbert Karajan <boost.regex@xxxxxxxxx> wrote:
If you read the log, you will see that the stack is responded first OPTIONS correct, just failed after received a few OPTIONS.

On Wed, Sep 10, 2014 at 9:23 PM, Herbert Karajan <boost.regex@xxxxxxxxx> wrote:
Hi Scott, I really did that, here is my code:

mDum->addOutOfDialogHandler(OPTIONS, this);

mMasterProfile->addSupportedMethod(OPTIONS);

mMasterProfile->addSupportedMimeType(OPTIONS, Mime("application", "sdp"));
mMasterProfile->addSupportedMimeType(OPTIONS, Mime("multipart", "mixed"));  
mMasterProfile->addSupportedMimeType(OPTIONS, Mime("multipart", "signed"));  
mMasterProfile->addSupportedMimeType(OPTIONS, Mime("multipart", "alternative"));  


On Wed, Sep 10, 2014 at 9:13 PM, Scott Godin <sgodin@xxxxxxxxxxxxxxx> wrote:

On Wed, Sep 10, 2014 at 12:58 AM, Herbert Karajan <boost.regex@xxxxxxxxx> wrote:
I'm develop an app call with 2N device, but got assert error when received OPTIONS from 2N:

Assertion failed: (mServerOutOfDialogRequest == 0), function dispatch, resiprocate-1.9.7/resip/dum/DialogSet.cxx, line 630.


Attached the log in email.


BR

_______________________________________________
resiprocate-users mailing list
resiprocate-users@xxxxxxxxxxxxxxx
List Archive: http://list.resiprocate.org/archive/resiprocate-users/





_______________________________________________
resiprocate-users mailing list
resiprocate-users@xxxxxxxxxxxxxxx
List Archive: http://list.resiprocate.org/archive/resiprocate-users/



_______________________________________________
resiprocate-users mailing list
resiprocate-users@xxxxxxxxxxxxxxx
List Archive: http://list.resiprocate.org/archive/resiprocate-users/