NONOH BYE/cseq=1 (=INVITE/cseq) results in 500: internal server error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

When I use pjsip to talk to a local asterix test server it works fine, but when I use a sip account at https://www.nonoh.net/, the disconnect scenario runs into errors (pjsip generates error code 500, internal server error).

Apparently this is caused by the cseq value of the BYE request message.

Looking at the code, the check happens in sip_dialog.c

void pjsip_dlg_on_rx_request( pjsip_dialog *dlg, pjsip_rx_data *rdata )
{
    pj_status_t status;
    pjsip_transaction *tsx = NULL;
    pj_bool_t processed = PJ_FALSE;
    unsigned i;

    PJ_LOG(5,(dlg->obj_name, "Received %s",
                  pjsip_rx_data_get_info(rdata)));
    pj_log_push_indent();

    /* Lock dialog and increment session. */
    pjsip_dlg_inc_lock(dlg);

    /* Check CSeq */
    if (rdata->msg_info.cseq->cseq <= dlg->remote.cseq &&
            rdata->msg_info.msg->line.req.method.id != PJSIP_ACK_METHOD &&
            rdata->msg_info.msg->line.req.method.id != PJSIP_CANCEL_METHOD)
    {
            /* Invalid CSeq.
            * Respond statelessly with 500 (Internal Server Error)
            */
...<etc>...

Here both "rdata->msg_info.cseq->cseq"  and "dlg->remote.cseq" are equal to 1 triggering the 500 error code.

The INVITE request to start the call also had cseq = 1.

(For the working asterix the BYE request has a cseq which is 1 higher than the INVITE cseq)

Does this sounds familiar ? Is is a nonoh sip server bug ? A pjproject bug ?
I cannot immediately find a clear overview on the sequence of cseq in the sip rfc :/

(Note: is there a way to search through the message archives to check if a question has already been asked before ? )

Thanks
Bram
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20151203/cbd1fc81/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux