[Serusers] Simple SER Use Case

Sebastien Pierre sebastien.pierre at sxb.bsf.alcatel.fr
Tue Feb 18 17:30:36 CET 2003


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 at domain>
	- Proxy server of <domain>
	- SIP phone which is default terminal for <alice at domain.com>
	- Voicemail server
	
Here is the scenario:

	0) SIP caller INVITEs <alice at 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

   






More information about the sr-users mailing list