Hello,

I have similar problems against a server, the application gets unregistered 
but it's registered at the server and continues to recieve the calls. I 
tried applying your patch but Tortoise SVN says:

The patch seems to be outdated! The file line
    else if (responseRefreshPeriod > 0)
and the patch line
    url.getIdentity (lineID);
do not match!

Thanks,
Hitesh

----- Original Message ----- 
From: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, March 07, 2007 12:42 AM
Subject: [sipxtapi-dev] fix: Line Registered event sometimes not received


> This patch fixed problem with Line registered events sometimes not being
> received.
>
> It occured when  in SipRefreshMgr::processOKResponse the
> requestRefreshPeriod was missing in the OK reply. In this case event
> wasn't fired.
>
> If during applying patch it says it is malformed, just remove the "@@
> -1024,8 +1034,9 @@" sections that were applied successfuly, as this
> patch had to be manually edited as well.
>
> Jaroslav Libak
>
>


--------------------------------------------------------------------------------


> Index: 
> C:/work/sipfoundry/branches/sipxtapi/sipXtackLib/src/net/SipRefreshMgr.cpp
> ===================================================================
> ---  
> C:/work/sipfoundry/branches/sipxtapi/sipXtackLib/src/net/SipRefreshMgr.cpp 
> (revision 8938)
> +++ 
> C:/work/sipfoundry/branches/sipxtapi/sipXtackLib/src/net/SipRefreshMgr.cpp 
> (working copy)
> @@ -1024,8 +1034,9 @@
>                 fireSipXLineEvent(url, lineId.data(), 
> LINESTATE_UNREGISTERED, LINESTATE_UNREGISTERED_NORMAL);
>
>         }
> -        else if ( responseRefreshPeriod > 0 )
> +        else
>         {
> +            // copying from response (this is why we set the To Field
>             if ( !toTag.isNull() )
>             {
>                 request->setToFieldTag(toTag);
> @@ -1037,24 +1048,27 @@
>             url.getIdentity(lineId);
>             lineId = "sip:" + lineId;
>
> -                // extract the Message body and pass to apps
> -                const char *bodyBytes = NULL;
> -                int   nBodySize = 0;
> -                const HttpBody *body = response->getBody();
> -                if (body)
> -                {
> -                   body->getBytes( &bodyBytes, &nBodySize );
> -                }
> +            // extract the Message body and pass to apps
> +            const char *bodyBytes = NULL;
> +            int   nBodySize = 0;
> +            const HttpBody *body = response->getBody();
> +            if (body)
> +            {
> +               body->getBytes( &bodyBytes, &nBodySize );
> +            }
>
> -                fireSipXLineEvent(url, lineId.data(), 
> LINESTATE_REGISTERED, LINESTATE_REGISTERED_NORMAL, bodyBytes );
> +            fireSipXLineEvent(url, lineId.data(), LINESTATE_REGISTERED, 
> LINESTATE_REGISTERED_NORMAL, bodyBytes );
>
> -            rescheduleRequest(request, responseRefreshPeriod, 
> SIP_REGISTER_METHOD);
> +            if (responseRefreshPeriod > 0)
> +            {
> +               rescheduleRequest(request, responseRefreshPeriod, 
> SIP_REGISTER_METHOD);
> +            }
> +            else
> +            {
> +               // could not find expires in 200 ok response , reschedule 
> after default time
> +               rescheduleAfterTime(request);
> +            }
>         }
> -        else // could not find expires in 200 ok response , reschedule 
> after default time
> -        {   // copying from response (this is why we set the To Field
> -            request->setToFieldTag(toTag);
> -            rescheduleAfterTime(request);
> -        }
>     } else // subscribe
>     {
>         // reschedule according to expires value
>


--------------------------------------------------------------------------------


> _______________________________________________
> sipxtapi-dev mailing list
> [email protected]
> List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/ 

_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/

Reply via email to