Asterisk:N-way dialout conference application

Posted by Mehroz Ashraf | Posted on 1:27 AM

;;;;;;;;;;;Dial 222, to initiate the process, this dial plan is written in extension.conf

exten => 222,1,ringing()
exten => 222,n,wait(2)
exten => 222,n,NOOp(Starting Conference)
exten => 222,n,Noop(Welcome to conference application,)
exten => 222,n,goto(authentication,100,1)






[authentication]
;;;;; Enter your authentication dial-plan if exist;;;;;;;;;;;;;;;;;;;
;;;; Authentication may involve, asking th euser to enter ;;;;
;;;; room number and password. match the, user provided ;;;
;;;; login details with your database and allow the dial plan to move on;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


exten => 100,1(enter),meetme(111111,axX1Mq) ;;;; 111111 is a room , declared in meetme.conf
exten => 100,n(hangup),hangup()

;;;;'X' allow user to exit the conference by entering a valid single digit
;;;; extension of the context specified in ${MEETME_EXIT_CONTEXT}
;;;;or the current context if that variable is not defined

;;; In this program, let 5 , be the option to dial out and add a user into conference
;;; As 5 is pressed in the conference, the control is shifted to
;;;;exten => 5,1,Noop(Add into conference) written below

exten => 100,n(dialed-party-answer),goto(authentication,100,enter)
exten => 100,n,goto(authentication,100,enter)
exten => 100,n,hangup()
;;;;;;;;;; Enter both, caller and called party in the same, see the dial() syntax for details

exten => s-NOANSWER,1,goto(100,not_found)
exten => s-CHANUNAVAIL,1,goto(100,not_found)
exten => s-BUSY,1,goto(100,not_found)
exten => s-CANCEL,1,goto(100,not_found)
exten => s-DONTCALL,1,goto(100,not_found)
exten => s-TORTURE,1,goto(100,not_found)
exten => s-CONGESTION,1,goto(100,not_found)

exten => 100,n(not_found),Noop(Dialed party unavailable)
exten => 100,n,playback(/var/lib/asterisk/sounds/conf/unavailable)
exten => 100,n,meetme(111111,axX1Mq)
exten => 100,n,hangup()
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;; press 5 , to call and add a user into conference;;;;;;;;;;;;
exten => 5,1,Noop(Add into conference)
exten => 5,n,Read(number,/var/lib/asterisk/sounds/conf/enter_number)
exten => 5,n,dial(zap/1/${number},,gG(authentication,dialed-party-answer))
exten => 5,n,Noop(${DIALSTATUS})
exten => 5,n,goto(${DIALSTATUS},1}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Comments (4)

Feel free to ask questions for help... :)

What is exten?

In the syntax of the extensions.conf file, each execution step in an extension is written in this format:
exten = extension,priority,Command(parameters)

'exten' is the syntax of dial plan.

i found this application very useful...thaankx!

Post a Comment