How to write VoiceMail dialplans in asterisk - asterisk

I have some extensions for which i have written dialplans.Now i want to add voicemail feature in it but i dont know how to add it in the existing dialplan.What are the other settings i need to do to achieve this.I am running asterisk on Ubuntu machine.Here is my extention.conf file ..
[others]
[my-phones]
exten => 2000,1,Dial(SIP/2000)
exten => 2001,1,Dial(SIP/2001)
exten => 2002,1,Dial(SIP/2002)
Please help me as i am very novice in this field.
Thanks in advance.

When I was working with Asterisk the WIKI saved me so many times. Here is an example of how to do the extension configuration
exten => 6000,1,Answer(500)
exten => 6000,n,Playback(hello-world)
exten => 6000,n,Hangup()
exten => 6001,1,Dial(SIP/demo-alice,20)
exten => 6001,n,VoiceMail(6001#vm-demo,u)
exten => 6002,1,Dial(SIP/demo-bob,20)
exten => 6002,n,VoiceMail(6002#vm-demo,u)
exten => 6500,1,Answer(500)
exten => 6500,n,VoiceMailMain(#vm-demo)
And here if you need to know more about how to configure asterisk for voicemail

Related

Asterisk automatic incoming call answering

I am trying to learn ASterisk PBX and i have a problem that i did not saw in any tutorial.
I want to have and extension to automatically anser the call and transfert to extension 101 or 102 depending on the user selection from the softphone keyboard or voice. How can i implement that?
[default]
Exten => 101,1,Answer
Exten => 101,n,NoOp(Test101)
Exten => 101,n,Dial(SIP/101,12,r)
Exten => 101,n,VoiceMail(101#interno-ipca)
Exten => 101,n,Hangup()
Exten => 102,1,Answer
Exten => 102,n,NoOp(Test102)
Exten => 102,n,Dial(SIP/102,12,r)
Exten => 102,n,VoiceMail(102#interno-ipca)
Exten => 102,n,Hangup()
Hi if you want to anwser any call you can use
exten => _X,1,Answer()
exten => _X,2,Read($Number,,[max digits])
exten => _X,3,Dial(SIP/$Number)
You can use [max digits], otherwise asterisk waits until the maximum of digits is reached, or you end the typing with "#"

Visual Dialplan + Asterisk Pbx

i have problem with my dial plan. I am using some php codes for looping and i am getting dynamic data in array. Ex: One username have maybe 2 or more accounts. I am getting account names and i am choosing a account.
i am using background option in loop for playing account names and context. When i press button 2,3 or 4 dial plan going to context and context pattern. So its working. But button 1 not working. I am getting extension error. I have no idea about why?
[2015-09-15 17:30:31] WARNING[26175][C-0000077d]: pbx.c:6696 __ast_pbx_run: Invalid extension '1', but no rule 'i' or 'e' in context 'Net-IVR-EN-ID'
and this is my config file;
exten => multi_wdsl,n,AGI(n_get_adres_wdsl.php,ara=${acc_number})
exten => multi_wdsl,n(lbl_Net-IVR-EN-ID_16),Set(counterplus=${MATH(${counter}+1,i)})
exten => multi_wdsl,n(lbl_Net-IVR-EN-ID_17),Set(TIMEOUT(response)=10)
exten => multi_wdsl,n,Set(TIMEOUT(digit)=10)
exten => multi_wdsl,n,Background(${ses${counter}}&/var/lib/asterisk/sounds/e/i/${counterplus},,en,WDSL_MENU)
exten => multi_wdsl,n,Set(counter=${MATH(${counter}+1,i)})
exten => multi_wdsl,n,GotoIf($["${wdsl_total}" = "${counter}"]?:lbl_Net-IVR-EN-ID_16)
exten => multi_wdsl,n,Set(TIMEOUT(response)=10)
exten => multi_wdsl,n,Set(TIMEOUT(digit)=10)
exten => multi_wdsl,n,Background(5sec&custom/custom/se,,en,WDSL_MENU)
exten => multi_wdsl,n,Goto(Net-IVR-EN-ID,multi_wdsl,1)
exten => i,1,Goto(multi_wdsl,lbl_Net-IVR-EN-ID_17)
exten => multi_wdsl__,1,Read(ir,custom/custom/ir,1,,5,10)
exten => multi_wdsl__,n,GotoIf($["${ir}" = "*"]?:lbl_Net-IVR-EN-ID_18)
exten => multi_wdsl__,n,Goto(Net-IVR-EN-ID,multi_wdsl,1)
exten => multi_wdsl__,n(lbl_Net-IVR-EN-ID_18),GotoIf($["${ir}" = "0"]?:lbl_Net-IVR-EN-ID_19)
exten => multi_wdsl__,n,Goto(Net-IVR-EN,multi_wdsl,1)
exten => multi_wdsl__,n(lbl_Net-IVR-EN-ID_19),Playback(custom/se/wrong_button)
exten => multi_wdsl__,n,Goto(Net-IVR-EN,multi_wdsl,1)
Thank you.
Dialplan you shown not have any option for 1,2,3 or 4
Background app usually used like this:
; this one just play file, not collect any input
exten => multi_wdsl,n,Background(5sec&custom/custom/se,,en,WDSL_MENU)
exten => multi_wdsl,n,WaitExten(5); on this stage it wait for input and go extension you entered
exten => 1,1,Noop(do something for 1)
exten => 2,1,Noop(do somethign for 2)
exten => i,1,Noop(invalid input);
Also you have Read app, which play and collect digit.
So background app not collect anything. Issue is not background app.

Asterisk 13 SIP SIMPLE messages to CDR

I have Asterisk 13.4.0 running on Ubuntu 12.04.3 and I need to log SIMPLE messages to MySQL CDR.
Messages are sending between extensions and all other CDRs are recorded properly, but there are no any SIMPLE records in CDR. Is it possible to use Asterisk built-in functionality or some kind of workaround to solve this problem?
Put in sip_general_custom.conf
accept_outofcall_message=yes
outofcall_message_context=messages
auth_message_requests=no
Into extensions_custom.conf
[messages]
exten => _.,1,NoOp(SMS receiving dialplan invoked)
exten => _.,n,NoOp(To ${MESSAGE(to)})
exten => _.,n,NoOp(From ${MESSAGE(from)})
exten => _.,n,NoOp(Body ${MESSAGE(body)})
exten => _.,n,Set(ACTUALTO=${CUT(MESSAGE(to),#,1)})
exten => _.,n,Set(CDR(message)=${MESSAGE(from)})
exten => _.,n,MessageSend(${ACTUALTO},${MESSAGE(from)})
exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != «SUCCESS»]?sendfailedmsg)
exten => _.,n,Hangup()
;
; Handle failed messaging
exten => _.,n(sendfailedmsg),Set(MESSAGE(body)="[${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)}] Your message to ${EXTEN} has failed. Retry later.")
exten => _.,n,Set(ME_1=${CUT(MESSAGE(from),<,2)})
exten => _.,n,Set(ACTUALFROM=${CUT(ME_1,#,1)})
exten => _.,n,MessageSend(${ACTUALFROM},ServiceCenter)
exten => _.,n,Hangup()
exten => _.,n,Hangup()
Also you need add into table message column type text

asterisk ivr no dealing tone

I am setting up IVR and encountered following trouble there is no dealing tone when client gets to "Dial", it just silently dialing. How to fix this?
exten => s,1,Background(custom/welcome-msg)
exten => s,n,WaitExten(10)
exten => s,n,Dial(SIP/0773,20)
exten => _X,1,Read(NUMBER,,4,n,,10)
exten => _X,n,Dial(SIP/${NUMBER},20)
exten => _X,n,HangUp()
You need add 'r' option in params.
exten => _X,n,Dial(SIP/${NUMBER},20,r)
https://wiki.asterisk.org/wiki/display/AST/Dial+Application

SpeechBackground

Hai everyone,
I have used the SpeechBackground application in asterisk. I used the version 1.6.0.6.
I have a entry like,
;;SpeechCreate
exten => s,1,SpeechCreate()
exten => s,2,SpeechActivateGrammar(yesno)
exten => s,3,SpeechStart()
exten => s,4,SpeechBackground(demo-instruct)
exten => s,5,SpeechDeactivateGrammar(yesno)
I don't know which file I meed to give in SpeechBackground application. Please give me any idea. I have given the sound file from /sounds directory.
If I call to 's' the call will be immediately released.I didn't get any audio sound.
Please any one help me...
It doesn't appear that you have Answer()'d the channel.
;; SpeechCreate
exten => s,1,Answer()
exten => s,n,SpeechCreate()
exten => s,n,SpeechActivateGrammar(yesno)
exten => s,n,SpeechStart()
exten => s,n,SpeechBackground(demo-instruct)
exten => s,n,SpeechDeactivateGrammar(yesno)

Resources