Even though there haven't been any updates on the mss service for quite a while there is actually a lot of work going on in the background. One of the things that we are looking at is implementing the requests around different options to increase the functionality of the dial string for the sys.Dial command.
The list of options currently requested are:
- Start call delay, delaying a certain call leg in the dial string by a set number of seconds,
- No response timeout, a timeout for a call leg such that if no response arrives from the server it is considered to have failed. This takes advantage of the fact that SIP servers will send a Trying response immediately when they receive a call. If the Trying response isn't received in a short period of time it's highly likely the server is down. Withouth this timeout the default is to wait until the SIP transaction times out which is 32s,
- Ringing timeout, this option is currently available and specifies a timeout for the amount of time a call leg would be allowed to ring before being considered to have failed,
- Answered call limit, this option would set the limit on the duration of an answered call. It would cause the call manager to keep track of the length of the call and once the limit was reached it would automatically generate the BYE requests to hang up each end of the call,
- Redirect mode, a lot of IP phones support do call forward or similar functions. That mechanism works by generating a 3xx response that contains one or more destinations that are sent back to the caller and are suggestions of different locations to call. The destinations in the redirect responses could be interpreted in one of two ways: they could be added as additional call legs to the current Dial command or they could replace the currrent Dial command and cause the current execution of the dialplan to halt and a new instance to start with the new destination as the request URI.
In order to accomodate the above options and any more which come along which they almost certainly will we'd like to get some feedback on possible formats for the dial string.
The proposal at the moment is to use square brackets with two letter prefixes for each option.
Example:
Code: Select all
sys.Dial("${dst}@provider[nt=5,rt=15,al=3600]&provider2[dt=10,rm=a]")
nt: No response timeout,
pt: Processing (ringing) timeout,
al: Answered call time limit,
rm: Redirect mode, a=Add to current call, r=replace current call.
There are possibly more inituitive ways to do the dialplan options and if anyone has any ideas they are welcome.
Regards,
Aaron