2008/7/17 Jerry Richards <[EMAIL PROTECTED]>:
> Question on an issue I am facing.  I have a case where I will reject a
> re-INVITE under certain circumstances.  The scenario follows:
>
> 1) Receive: re-INVITE
> 2) Callback: nua_i_invite event (100 Trying)
> 3) Send: 403 Forbidden (nua_respond)
> 4) Callback: nua_i_state event nua_callstate_
>   received (100 Trying)
> 5) Callback: nua_i_state event nua_callstate_
>   ready (403 Forbidden)
> 6) Receive: ACK for response
> 7) Callback: nua_i_active event 403 Call Active
>
> My question is: What is the best way to associate the asynchronous Callback
> event in step 4) with the Callback event in step 2)?  That is, I want to
> discard Callback event 4) in this scenario.

When you receive an incoming INVITE, you can store its state in your
call (e.g., no invite, invite received, responded, waiting-for-ack).
When you respond with status code >= 300, you just move the incoming
INVITE state to no invite and ignore the nua_i_state events with call
states related to incoming invite (received, early, completed).
(Please note that for status code >= 300, the ACK is hop-by-hop and it
will not be seen by the application.)

-- 
Pekka.Pessi mail at nokia.com

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to