Re: Doubt in CPL Scripts
Jonathan Lennox <[email protected]> Thu, 2 May 2002 14:45:40 -0400
| Newsgroups | gmane.ietf.iptel |
|---|---|
| Message-ID | <[email protected]> |
On Thursday, May 2 2002, "Nagarajan.D" wrote to "<[email protected]>" saying: > 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. 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. > 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. What guidance are you looking for? I'm pretty sure the standard SIP mechanisms for handling forwarding loops should be sufficient. > 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 ? The lookup and proxy timeouts are additional timers. They shouldn't disrupt SIP timers, though; they should take place on another level... -jonathan