VOiCE MAIL INTEGRATION Notes - leebalaji1234/voiceprotocol GitHub Wiki
Solution 1:
exten => s,1,Dial(SIP/+442076335045@gamma,30,tg)
http://asteriskfaqs.org/tag/dialstatus
CHANUNAVAIL
CONGESTION
NOANSWER
BUSY
ANSWER
CANCEL
DONTCALL - For the Privacy and Screening Modes. Will be set if the called party chooses to send the calling party to the 'Go Away' script.
TORTURE - For the Privacy and Screening Modes. Will be set if the called party chooses to send the calling party to the 'torture' script.
INVALIDARGS
Solution 2:
http://forums.asterisk.org/viewtopic.php?p=75391
[outgoing]
exten => _X.,1,Dial(SIP/${EXTEN})
exten => s,1,Noop(HANGUPCAUSE is ${HANGUPCAUSE} and DIALSTATUS is ${DIALSTATUS})
exten => s,2,Wait(1)
exten => s,3,Answer
exten => s,4,Playback(hello-world)
exten => s,5,Hangup
call file :
Channel: Local/+442076335035@outgoing/n MaxRetries: 1 RetryTime: 60 WaitTime: 30 Extension: s
Channel: LOCAL/+442076335035@gamma Context: VOICEMAIL Extension: s Priority: 1
outgoing]
exten => _X.,1,Dial(SIP/${EXTEN})
exten => s,1,Noop(HANGUPCAUSE is ${HANGUPCAUSE} and DIALSTATUS is ${DIALSTATUS})
exten => s,2,Wait(1)
exten => s,3,Answer
exten => s,4,Playback(hello-world)
exten => s,5,Hangup
exten => _X.,1,Noop(HANGUPCAUSE is ${HANGUPCAUSE} and DIALSTATUS is ${DIALSTATUS})
http://stackoverflow.com/questions/10025422/unable-to-generate-call-to-cell-phone-using-asterisk
Action: Originate Channel: local/internal_playback@testing Context: voiceall-outbound Exten: 919833000000 Priority: 1
Solution 3:
http://www.voip-info.org/wiki/view/Asterisk+local+channels exten => s,1,Dial(local/s@somescript,60,m) robinson-family] exten => _20[0-3],1,Macro(normal|SIP/${EXTEN}|${EXTEN})
exten => 250,1,VoiceMailMain(${CALLERID(num)})
[macro-normal];
; ${ARG1} - extension(s) being called (e.g. SIP/123&SIP/124)
; ${ARG2} - Mailbox (usually the same as ${MACRO_EXTEN})
exten => s,1,Dial(${ARG1},30) ; ring extension for a maximum of 30 seconds
exten => s,n,Goto(s-${DIALSTATUS},1) ; go to status priority (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,VoiceMail(${ARG2},u) ; Person at extension "is unavailable" message
exten => s-BUSY,1,VoiceMail(${ARG2},b) ; Person at extension "is busy" message
exten => s-ANSWER,1,Hangup() ; To be safe, clean up the call after an answer by hanging up
exten => _s-.,1,Goto(s-NOANSWER,1)
http://the-asterisk-book.com/1.6/voicemail-beispiele.html
Solution 4:
originate Local/s@VOICEMAIL extension s@VOICE
Call FIle:
Channel: Local/s@VOICEMAIL Context: VOICE Extension: s
Call File Change:
Channel: Local/9791718841@VOICEMAIL Context: VOICE Extension: s
context change as exten => _X.,1,Dial(SIP/${EXTEN},10,g)
sip show registry register => 9791718441:[email protected]:5060
do not use sip.conf file host=dynamic it will create problem subscriber absent CHANUNAVAIL
exten => s,1,Dial(SIP/${DEST}/${EXTEN},20,G(VOICE^s^1)g)
DUMMY :
Channel: SIP/9791718441 Application: Playback Data: hello-world Extension:s Set: DEST=9791718441 Priority: 1
Channel: Local/s@VOICEMAIL/n Context: VOICE Extension: s Set: DEST=9791718441 Priority: 1 http://www.rjsystems.nl/en/2100-asterisk.php core show channels verbose
Get Variable BW Channels : ${SHARED(foo,SIP/${DEST})} Set .. : Set(SHARED(foo,SIP/${DEST})=${DIALSTATUS}
Channel: Local/2000@LOCAL1 Application: bridge Data: SIP Set: DEST=9791718441 Priority: 1 Channel: Local/2000@default
Application : Dial
Data : SIP/9791718441
[VOICE] exten => s,1,NoOp(**** VOICE MAIL DETECTION SYSTEM 1 MACHINE=======${DIALSTATUS}) ;exten => s,n,Dial(Local/100@VOICEACTION) [VOICEACTION] exten => 100,1,NoOp(DIALINGSTTATUS === ${DIALSTATUS}) exten => 100,2,Dial(SIP/9791718441,10,g) exten => 100,3,NoOp(AFTER DIALINGSTTATUS === ${DIALSTATUS}) [VOICEMAIL] ;exten =>s,1,Answer() exten => s,1,Dial(SIP/9791718441,10,g) exten => s,n,NoOp(**** VOICE MAIL DETECTION SYSTEM*******==${DIALSTATUS}) ;exten => s,n,agi(voicemaildetector.php) exten => failed,1,NoOp(FAILED --- dialstatus = ${DIALSTATUS}) ;exten => failed,n,agi(player.php) ;exten => h,,agi(player.php) exten => h,1,NoOp(HANGED --- dialstatus = ${DIALSTATUS})
Good Solution:
Channel: CONSOLE/dsp Extension:123 Context: dialout Set: DEST=9791718441 Priority: 1
[dialout]
exten => _X.,1,Dial(SIP/9791718441,,g) exten => _X.,2,Goto(${DIALSTATUS},1) exten => FAILED,1,NoOp(******** FAILED RECEIVED *) exten => CONGESTION,1,NoOp( CONGEST RECEIVED *) exten => NOANSWER,1,NoOp( NOANSWER RECEIVED *) exten => BUSY,1,NoOp( BUSY RECEIVED *********)
exten => ANSWER,1,playback(hello-world)
Importants
exten => s,1,ChanIsAvail(Console/Dsp) exten => s,n,GotoIf($["${AVAILCHAN}" = ""]?smvoice-busy,s,1) exten => s,n,Playback(beep) exten => s,n,Dial(Console/dsp) exten => s,n,Hangup
from the above solution we cannot play message or call agi script
here small channges on dialplan in the dial command
[try2] exten => 100,1,NoOp(******** TRY 2 -- CH ::${HASH(SIP_CAUSE,${CHANNEL})} ************) ;exten => 100,2,Dial(Local/100@dialout) exten => 100,n,Playback(hello-world) [dialout]
exten => _X.,1,Dial(SIP/9791718441,10,G(try2^100^1)g) ;exten => _X.,n,playback(hello-world) exten => _X.,n,Goto(${DIALSTATUS},1) exten => FAILED,1,NoOp(******** FAILED RECEIVED *) exten => CONGESTION,1,NoOp( CONGEST RECEIVED *) exten => NOANSWER,1,NoOp( NOANSWER RECEIVED *) exten => NOANSWER,2,playback(hello-world) exten => BUSY,1,NoOp( BUSY RECEIVED ***) exten => ANSWER,1,NoOp( HI There Voice Mail Success **********)