All,
 
just started using SER (great experience so far!). I'm trying to us it for a contact centre application where I have a specific requirement that calls can only be terminated in one direction, from a Cisco AS53xx gateway, not a Cisco phone.
 
Here's the set-up and desired result:
 
User logs into the contact centre systems which initiates a call on the PSTN side of the AS53xx. This then creates a VOIP (SIP) call leg from a dial-peer on the gateway, via the SER proxy.
 
The agents all have Cisco 7960 IP phones which register with the SER registrar. The INVITE is proxied via a simple location lookup in the SER route[0] config file to the appropriate handset. The agent answers the call and is "logged" in to the system.
 
Now's the fun part. I want to prevent the SIP leg being torn-down by the agent either accidentally or on purpose hanging up the call from the handset.
 
Here's the logic (pseudo code) I have though out: Trap the BYE from the handset using a statement something like:
 
        if (method=="BYE" and uri=~"sip:[0-9]+@*") {
        # Agent phone initiated the BYE so do something
        route(1);
        } else {
        #do something else - pass on the message I guess
        };
 
route[1] {
    # use exec to call an external function
    exec_msg ('script.file');
    }
 
The external script needs to OK the BYE message - I assume use the FIFO function to construct the OK message.
 
Now the tricky part: how do I stop the called phone from hanging up, (I tried a simple 403 Forbidden response) but that didn't work. So I thought about the REFER method with the URL of the phone sending the BYE message- can I send a refer to the Gateway (AS5300) that still thinks the dialogue is open to the phone and "hopefully" get it to send a new INVITE dialogue to the phone? Or would I have to generate a new INVITE sequence from the SER proxy exec code?
 
If its the latter, then I need access to the RTP port number on the AS53xx from the original INVITE message - and this implies access to the SDP payload - which I can't see from the SER script (unless anyone can tell me how?)
 
Thanks in advance!!!
 
Neill....:o)

Neill Wilkinson

Senior Consultant

Quortex Consultants Ltd.

e: neill.wilkinson@quortex.com