Hi all,
I am trying to implement a very simple call forwarding use case with SER. This use case is directly taken from a book entitled "Internet Applications with SIP".
Here are the actors: - SIP caller, wants to call alice@domain - Proxy server of <domain> - SIP phone which is default terminal for alice@domain.com - Voicemail server Here is the scenario:
0) SIP caller INVITEs alice@domain 1) Proxy receives INVITE 2) Proxy forwards INVITE to alice default SIP phone 3) Proxy responses 100 TRYING to SIP caller 4) SIP phone responses 100 TRYING to proxy 5) SIP phone responses 180 RINGING to proxy 6) Proxy reponses 180 RINGING to caller 7) After timeout, proxy send CANCEL to default SIP phone 8) SIP phone responses OK to proxy... ... X) Proxy forward original INVITE to voice mail server...
The fact is that the proxy first notifies the caller that it is trying to locate alice, listens for "180 RINGING" and forward it to the caller, then cancels on the SIP phone side because of a timeout -- then the proxy forwards the INVITE to the voice mail.
I have tried some configurations, but I did not see how to listen for the 180 RINGING and forward them to the caller... is there a way to bind a "route" to a provisional response like:
route[0] { ... #In case a 180 occur, we execute route[1] t_on_provisional("180", "1"); #But we're also waiting for an OK or a timer #event to arrive t_on_negative("2"); t_relay(); ... }
route[1] { #Forwards the 180 Ringing from the SIP phone to #the caller t_relay(); }
BTW, I was wondering if t_on_negative is a *blocking* action ?
TIA,
-- Sebastien
On Tuesday 18 February 2003 17:30, Sebastien Pierre wrote:
I have tried some configurations, but I did not see how to listen for the 180 RINGING and forward them to the caller... is there a way to bind a "route" to a provisional response like:
Their is no need to listen for 180. It will be delivered automaticly by tm. If not their is something wrong and network dumps (with ngrep for example) would help to debug the problem.
BTW, I was wondering if t_on_negative is a *blocking* action ?
No it is a callback which hits on an event. BTW even if a process would be blocked this would not be a problem because ser runs with multiple processes.
Regards Nils
see user documentation for guidance on voicemail scripts http://www.iptel.org/ser/doc/seruser-html/x510.html#AEN616
It implements the scenario you referred to.
-jiri
I have tried some configurations, but I did not see how to listen for the 180 RINGING and forward them to the caller... is there a way to bind a "route" to a provisional response like:
180s are listened to as any other SIP messages and are forwarded by default.
BTW, I was wondering if t_on_negative is a *blocking* action ?
I will be glad to tell you, when you tell me first what you mean by "blocking action" here.