Subject: [IPTEL] Doubt in CPL Scripts

From: "Nagarajan.D" <[email-masked]>
Date: Thu, 2 May 2002 12:10:44 +0530

I am trying to understand the CPL scripts where I have the following
doubt:

I am having a CPL Server and the SIP Server as two different components.
Where all calls from the SIP Server is forwarded to the CPL Server to
check for any specific action required and returns an action back to SIP
Server to proceed with.

Doubt no 1:

When there is a call between 2 users A and B.
A's script says to start the call logging feature( where the details of
the calls of A are logged to a file )
And then B's script says to reject all the calls from A.

In such a case; which one of the following will be the return action
sent from CPL Server to SIP Server

1. Start call logging feature for call A
2. Reject action ; for calls coming from A to B
3. both 1 and 2.

In some situations there will be only one action; and in some more than
one action is it right ?
Or do we need to have priorities for the actions of A and B and choose
one among them.
If somebody has done some implementations handling such scenarios can
you please guide me.

Doubt no 2:

And in some cases, the actions could result in recursions, The RFC 2824
in section 9.2 says " in some cases, forwarding can be recursive; 
a CPL Server must be careful to prevent forwarding loops."  If somebody
has done some implementations handling such scenarios can you please
guide me.

Doubt no 3:

Sip Server works on specified set of timers, when a call is been sent to
the CPL Server for action; may be it has to handle many scripts at a
time and respond back.
But it may disturb the SIP timers; How are we going to handle such
situations. Are there any specific timer implementations for CPL Server
required ?

Are there are any implementations available to look into these issues.
 
Thanks,
Naga
*******************************************
*** D. Nagarajan
***
*** Wipro Technologies
***
*** 271, Sri Ganesh Complex                                          ***
*** Madivala, Bangalore 560068, India                        ***
*** Tel : 0091-80-5539134/139 ext 1161                         ***
*******************************************
*** The woods are lovely, dark and deep.                  *** 
*** But I have promises to keep,                                  ***
*** And miles to go before I sleep,                             ***
*** And miles to go before I sleep.                             ***  
*******************************************

---

From: Jonathan Lennox <[email-masked]>
Date: Thu, 2 May 2002 14:45:40 -0400

> If somebody has done some implementations handling such scenarios can

This is a fairly classic feature interaction issue.

The CPL Framework and Requirements RFC (RFC 2824) has some discussion of
this.  Basically, you treat multiple scripts as though they were taking
place on multiple servers.  That is, if the call is from A to B, first you
execute A's script, and trigger any actions it specifies.  Then, if A's
script told you to attempt to contact B, you trigger B's script.

If B's script rejected the call from A, it's handled exactly the same as if
A's script was placed to some external destination which returned a SIP 600
(say) error response.

> has done some implementations handling such scenarios can you please

What guidance are you looking for?  I'm pretty sure the standard SIP
mechanisms for handling forwarding loops should be sufficient.

> situations. Are there any specific timer implementations for CPL Server

The lookup and proxy timeouts are additional timers.  They shouldn't disrupt
SIP timers, though; they should take place on another level...

-jonathan
_______________________________________________
IPTEL mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/iptel