[AsteriskBrasil] RES: RES: Action Originate (Asterisk Manager) XMonitor()

Moacir O. de Souza Junior - Personalsoft Sistemas Ltda. moacir em personalsoft.inf.br
Terça Junho 26 17:13:04 BRT 2007


Pois é pessoal, boa tarde!

Depois de muito apanhar, testar e observar sobre a gravação e o "ORIGINATE"
eu acredito que entendi o motivo que a gravação não estava sendo feita. 

Action: Originate
ActionID: 1BV2ZwdI_#Ps20070626160013
Channel: Local/09205xxxx
Exten: 101
Context: ramais
Priority: 1
Variable: ACTIONID=1BV2ZwdI_#Ps20070626160013
Async: True

Quando eu mandava este comando ORIGINATE acima o Asterisk procedia da
seguinte forma:

Ele entrava pelo meu contexto DEFAULT com a extensão 09205xxxx (quem
possibilita isso é o uso do canal LOCAL).

Logo, o número entrava no meu contexto responsável por fazer ligações locais
para celular e discava normalmente. Neste contexto eu tinha uma "exten" que
ativava a gravação pelo comando Monitor().

O comando Monitor() quando ativado iniciava a gravação do canal que o
ativou, que no meu caso era o LOCAL/09205xxxx. Aqui estava o meu problema.
Como o canal local era usado apenas por alguns instantes, somente o tempo de
ligar para uma ponta, o celular, e ligar para a outra, o ramal 101, não
existia o que gravar. Ou seja, o monitor tentava fazer a gravação do canal
LOCAL, mas neste canal não passa nenhum som, ele serve apenas de "ponte".

Como geralmente descobrir o problema costuma ser a metade da solução. Daí
pra frente a minha missão, ficou mais fácil, passou a ser fazer com que o
Monitor() fosse executado por um canal de "verdade". Para isso, eu até o meu
contexto que ligava para o Ramal e solicitei que a gravação fosse feita por
lá.

[ramais]
exten => 101,1,Macro(RamalInterno,s,1,SIP,101)

[macro-RamalInterno]
exten =>
s,1,Dial(${ARG3}/${ARG4},${GLOBAL(TIME)},rtwM(GravacaoRamal^s^1^${ACTION}))
exten => s,n,Hangup()

[macro-GravacaoRamal]
;ARG1 --> Exten
;ARG2 --> Priority
;ARG3 --> ActionID
exten => s,1,GotoIf($["${ARG3}"!=""]?10)
exten => s,10,Set(ArquivoGravacao=/calls/gravacoes/${ARG3})
exten => s,11,Monitor(gsm,${ArquivoGravacao},m)

Eu usei o recurso de chamar uma Macro a partir do comando Dial (como podem
ver acima - usando o parâmetro "M"). Quando o Dial é executado e a conexão
entre o celular e o ramal é estabelecida, o canal "LOCAL" sai de cena e com
isso quem executa a macro já é o Canal SIP/101, que representa o ramal da
ligação.

Sendo assim, dificuldade superada!

A todos da lista, principalmente ao Denis, muito obrigado pela atenção e
ajuda.

Cordialmente, 

Moacir O. de Souza Junior
Belo Horizonte - Minas Gerais - Brasil 


-----Mensagem original-----
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Moacir
O. de Souza Junior - Personalsoft Sistemas Ltda.
Enviada em: sexta-feira, 22 de junho de 2007 15:36
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: [AsteriskBrasil] RES: Action Originate (Asterisk Manager)
XMonitor()

Denis, boa tarde! (novamente... hehehe) 

Eu fiz os seguintes testes:

a) Coloquei o ANSWER antes do comando Monitor (coloquei antes, pois
pesquisei alguns exemplo na internet e o pessoal estava colando antes do
Monitor())

exten => s,2,Answer
exten => s,3,Monitor(wav,${SCREEN_FILE},m)

	1) Ligando do Telefone para o Ramal (o modelo que preciso usar)
		Channel: Local/09194****
		Exten: 101
		
		Resultado: Como eu coloquei o ANSWER o asterisk já
transferiu a ligação para o ramal mesmo antes de o celular ser atendido.
Neste tempo (enquanto a ligação ainda chamava no celular) a ligação foi
sendo gravada normalmente, mas quando eu atendi o celular o Asterisk parou
de gravar a ligação.

	2) Ligando do Ramal para o Telefone (a sua sugestão)
		Channel: SIP/101
		Exten: 09194****

		Resultado: Primeiro o Asterisk ligou para o ramal e depois
para o telefone celular (como esperado) e a gravação correu normalmente

	Infelizmente este modelo, como eu disse no e-mail anterior, não me
atende.

b) Sem o ASWER (com já estava originalmente)

exten => s,2,Answer
exten => s,3,Monitor(wav,${SCREEN_FILE},m)

	1) Ligando do Telefone para o Ramal (o modelo que preciso usar)
		Channel: Local/09194****
		Exten: 101
		
		Resultado: Apenas cria o arquivo, mas o mesmo fica vazio.
:-(

	2) Ligando do Ramal para o Telefone (a sua sugestão)

		Channel: SIP/101
		Exten: 09194****

		Resultado: A ligação é feita normalmente. :-(

Obrigado.

Cordialmente, 

Moacir O. de Souza Junior
Belo Horizonte - Minas Gerais - Brasil

-----Mensagem original-----
De: Moacir O. de Souza Junior - Personalsoft Sistemas Ltda.
[mailto:moacir em personalsoft.inf.br] 
Enviada em: sexta-feira, 22 de junho de 2007 14:28
Para: 'asteriskbrasil em listas.asteriskbrasil.org'
Assunto: RES: [AsteriskBrasil] Action Originate (Asterisk Manager) X
Monitor()

Denis, boa tarde!

Quando eu coloco o canal (no Channel: SIP/101) primeiro que o Ramal, como na
sua sugestão o Asterisk primeiro faz a conexão com o SIP/101 para depois
executar o "Exten: 09194****" e fazer a ligação para o número que eu quero.
Isso na minha "regra de negócio" não funcionaria, pois forçaria que o ramal
fosse atendido sem ter certeza que se a ligação será completada.

Vou testar a sua idéia, apenas para ver se a gravação será feita, mas usar o
"Originate" da maneira que você sugeriu, baseando-se no que eu já aprendi e
testei do "Originate", não serve para mim. 

Muito Obrigado pela atenção! 

Cordialmente, 

Moacir O. de Souza Junior
Belo Horizonte - Minas Gerais - Brasil

-----Mensagem original-----
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Denis
Galvão
Enviada em: sexta-feira, 22 de junho de 2007 12:58
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] Action Originate (Asterisk Manager) X
Monitor()

Olá Moacir.

Tenta alterar o seu Action da forma abaixo.

On 21 de jun de 2007, at 11:18, Moacir O. de Souza Junior -  
Personalsoft Sistemas Ltda. wrote:
> Channel: Local/09194****
>
> Exten: 101

Tente usar:

Channel: SIP/101
Exten: 09194****

Talvez ele não esteja gravando por faltar um ANSWER.

Abraços,

--
Denis Galvão
AsteriskBrasil.org

Ajude a comunidade AsteriskBrasil.org, compre uma camiseta!
http://www.voipmania.com.br
----------------------------------------
Ajude a comunidade AsteriskBrasil.org!
==== Compre uma camiseta! ====
Acesse www.voipmania.com.br
_______________________________________________
LIsta de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

_______________________________________________
Acesse o  wiki AsteriskBrasil.org:
http://www.asteriskbrasil.org

_______________________________________________
LIsta de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

_______________________________________________
Acesse o  wiki AsteriskBrasil.org:
http://www.asteriskbrasil.org



Mais detalhes sobre a lista de discussão AsteriskBrasil