2008/1/31, Jerry Richards <[EMAIL PROTECTED]>:
> I am using nua_notify() function and I am seeing sofia-sip behavior that I
> would like to modify.  At initialization I establish a subscription with a
> state agent that manages a call resource (x-line-id).
>
> Under certain conditions, I can receive a "500 Glare Encountered" message
> from the state agent server.  When this occurs, sofia-sip automatically
> sends "NOTIFY Subscription-State: terminated;noresource" message.
>
> Why does sofia-sip do this?

Terminating the dialog usage is the default behavior in case of error response.

>  I don't want it to terminate the subscription
> simply because of a 500 Glare condition.  Can I control this?

Currently, no.

However, if you look at nua_stack.c around line 2714, it calls
sip_response_terminates_dialog(). Based on the graceful, nua then
decides whether to terminate the dialog usage (by sending NOTIFY with
S-S: t terminated).

Now s_r_t_d() can either set graceful to false, to true or leave it as
is, depending on error code. In case of 500, it is left as is, to the
initialized value, 1. You can try to initialize graceful as 0.

There probably should be a tag controlling the default value.

-- 
Pekka.Pessi mail at nokia.com

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Sofia-sip-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to