System information

the SkypeChatSend() and SKYPE_CHAT_RECEIVE() dialplan application and function,
respectively:
exten => 106,1,Answer()
; All text must be on a single line.
same => n,SkypeChatSend(pbx.shifteight.org,tfot.madsen,Incoming call from
${CALLERID(all)}. Press 1 to route to desk. Press 2 to send to voicemail.)
; Wait for a response for 6 seconds.
; *** This line should not have any line breaks
same => n,Set(SkypeResponse=
${SKYPE_CHAT_RECEIVE(pbx.shifteight.org,tfot.madsen,6)})
same => n,GotoIf($["${SkypeResponse}" = "1"]?dial,1)
same => n,GotoIf($["${SkypeResponse}" = "2"]?voicemail,1)
same => n,Goto(dial,1)
exten => dial,1,Verbose(2,Calling our desk)
same => n,Dial(SIP/0000FFFF0002,6)
same => n,Goto(voicemail,1)
exten => voicemail,1,Verbose(2,VoiceMail)
; *** This line should not have any line breaks
same => n,Set(VoiceMailStatus=${IF($[${ISNULL(${DIALSTATUS})}
| "${DIALSTATUS}" = "BUSY"]?b:u)})
same => n,Playback(silence/1)
same => n,VoiceMail(100@lmentinc,${VoiceMailStatus})
same => n,Hangup()
There you have it—sending and receiving messages via the Skype network!
You can also send and receive messages with the Asterisk Manager In-
terface, the topic of Chapter 20.
We’ve essentially implemented a screen pop solution for incoming calls, but by allow-
ing messages to be sent back to Asterisk via Skype within a defined period of time,
we’ve also created a solution for redirecting calls prior to ringing any devices. A more
functional version of the dynamic routing dialplan we just explored was developed in
the section about JABBER_RECEIVE() earlier in this chapter: it used the Local channel to
get around the dialplan blocking issue, enabling calls can be routed even after a device
has started to be rung.
Calling your Skype buddies without assigning extension numbers
While working on this book, we had some issues with trying to come up with clever
ways to use a text-to-speech engine. It seemed that dynamic data would need to be
Skype Integration | 433