Aplicações do Dialplan do Asterisk 20
Comando:
Dial()
Sinopse:
Tenta conectar a outro dispositivo ou endpoint e estabelecer a ponte da chamada.
Descrição:
Este aplicativo realiza chamadas para um ou mais canais especificados. Assim que um dos canais solicitados atender, o canal de origem será atendido, caso ainda não tenha sido. Esses dois canais então estarão ativos em uma chamada ponteada. Todos os outros canais solicitados serão então encerrados.
A menos que um tempo limite seja especificado, o aplicativo Dial aguardará indefinidamente até que um dos canais chamados atenda, o usuário desligue, ou se todos os canais chamados estiverem ocupados ou indisponíveis. A execução do dialplan continuará se nenhum canal solicitado puder ser chamado, ou se o tempo limite expirar. Este aplicativo reportará terminação normal se o canal de origem for desligado, ou se a chamada for ponteada e qualquer uma das partes na ponte encerrar a chamada.
Se a variável OUTBOUND_GROUP estiver definida, todos os canais pares criados por este aplicativo serão colocados nesse grupo (como em 'Set(GROUP()=...)'). Se a variável OUTBOUND_GROUP_ONCE estiver definida, todos os canais pares criados por este aplicativo serão colocados nesse grupo, mas a variável será desativada após o uso.
O aplicativo Dial aceita diversos parâmetros e opções para controle avançado de chamadas, incluindo tempo limite, opções de áudio, encaminhamento, gravação, limites de tempo, entre outros recursos avançados de telefonia.
Sintaxe:
same => n,Dial(PJSIP/alice,30)
same => n,Dial(PJSIP/alice&PJIP/bob,45)
same => n,Dial(PJSIP/alice,,g)
same => n,Log(NOTICE, Alice call result: ${DIALSTATUS})
same => n,Dial(PJSIP/alice,,TX)
same => n,Dial(PJSIP/alice,,L(60000:30000:10000))
same => n,Dial(PJSIP/alice&PJSIP/bob,,Q(NO_ANSWER))
[default]
exten => callee_channel,1,NoOp(ARG1=${ARG1} ARG2=${ARG2})
same => n,Log(NOTICE, I'm called on channel ${CHANNEL} prior to it starting the dial attempt)
same => n,Return()
exten => called_channel,1,NoOp(ARG1=${ARG1} ARG2=${ARG2})
same => n,Log(NOTICE, I'm called on outbound channel ${CHANNEL} prior to it being used to dial someone)
same => n,Return()
exten => _X.,1,NoOp()
same => n,Dial(PJSIP/alice,,b(default^called_channel^1(my_gosub_arg1^my_gosub_arg2))B(default^callee_channel^1(my_gosub_arg1^my_gosub_arg2)))
same => n,Hangup()
[my_gosub_routine]
exten => s,1,NoOp(ARG1=${ARG1} ARG2=${ARG2})
same => n,Playback(hello)
same => n,Return()
[default]
exten => _X.,1,NoOp()
same => n,Dial(PJSIP/alice,,U(my_gosub_routine^my_gosub_arg1^my_gosub_arg2))
same => n,Hangup()
same => n,Dial(PJSIP/alice,,G(jump_to_here))
same => n(jump_to_here),Goto(confbridge)
same => n,Goto(confbridge)
same => n(confbridge),ConfBridge(${EXTEN})
Dial(Technology/Resource&[Technology2/Resource2[&...]],[timeout,[options,[URL]]]])
same => n,Dial(DAHDI/g1/5551212)
same => n,Dial(DAHDI/4r2)
same => n,Dial(DAHDI/3c/5551212)
same => n,Dial(WebSocket/connection1/c(sln16))
same => n,Dial(WebSocket/connection1/c(opus))
same => n,Dial(WebSocket/INCOMING/n)
same => n,Dial(WebSocket/connection1/v(${URIENCODE(vari able)}=${URIENCODE(${CHANNEL})},variable2=$(URIENCODE(${EXTEN})}))
same => n,Dial(WebSocket/connection1/f(json))
Veja Também:
Fonte: Asterisk Wiki