DEV Outbound Programming Notes
Programming Notes
Application Dynamics and Personalization
The start_url
is called by the Plum Outbound system with parameters which allow dynamic personalization of the application script. The phone number dialed and the Plum platform assigned call ID are returned to the client application server start_url as HTTP POST variables.
Personalization
The Plum Outbound system and VoiceXML scripting enables the creation of personalized call scripts based on the identity of the callee. To that end, several identifiers are accepted by the Plum Outbound system which are passed back to the client application server once the call is connected at HTTP GET variables:
Identifier
Parameter(s)
Notes
Phone Number
phone_number
For many applications, the phone number will be enough to uniquely identify the call. Based on the phone number, the client application server can retrieve information such as the callee's name.
Message Reference
message_reference
Where the phone number does not uniquely identify the call, the client application can send a message reference along with the queuecall.php
/queuecalls.php
request.
Call ID
call_id
Each call is also assigned a unique identifier at queue time by the Plum Outbound System. This call ID is returned by the queuecall(s).php request. This identifier is unique to the Plum Outbound System Server. (However, if the client application is being served by multiple Plum Outbound servers, then this call_id may not be unique. The client application should assign and refer to the message_reference instead.)
Message Parameters
campaign_parameters call_parameters
Use the message parameters to pass call personalization information directly to the call script. For example, for an appointment reminder application, the message parameters could be used for the callee name and the appointment date and time. The VoiceXML script could then be constructed with a personalized greeting and reminder without looking up the callee's record in a database at call time.
Callee Type Detection
The Plum Outbound system provides asynchronous callee type detection that allows the call to begin immediately while the system listens in on the first 4 seconds of the call to determine what is on the other end of the line.
You can access the current callee type through the global variable session.connection.callee_type
. The value of this variable will change over time, we recommend playing an initial prompt to the callee and then performing any branching logic against this variable.
The possible values for session.connection.callee_type
are “processing”, “voice”, “answeringmachine”, “fax” and “unknown”.
Below is sample code that demonstrates detecting and acting on the callee type:
Last updated