[AsteriskBrasil] RES: Desenvolvedores
dioedu@yahoo.com.br
dioedu em yahoo.com.br
Sexta Março 3 15:21:30 BRT 2006
On Friday 03 March 2006 06:45, Caio Begotti wrote:
> Eu não mexo com programação direta, mas me envolve até certo ponto no
> desenvolvimento também, e acho que aqui na lista, sim, seria bom
> conversarmos disso. Acho que "entra" :-)
OK.
> PS: tente perguntar no canal IRC #asterisk-dev, lá eles ajudam em coisas
> mais profundas sobre o código do Asterisk.
Eu até acompanho o canal IRC #asterisk-dev, mas para perguntar, teria de ser
uma dúvida específica.
E primeiramente, gostaria de entender melhor o funcionamento geral. Daí fica
complicado perguntar no canal IRC. Vou tentar aqui, se alguém souber ou tiver
uma dica de onde procurar já ajuda.
Eu sei como funcionam os módulos do asterisk. Isto é, como eles são "ligados".
Porém, não sei como um chama o outro. Para ficar mais claro:
Um exemplo do Asterisk utilizando R2 Digital:
Estrutura: PSTN - Placa Digium - Driver Zaptel - libmfcr2 - libunicall -
channels (chan-unicall) - asterisk.
Explicação bem básica: A prestadora está conectada fisicamente à placa Digium.
Ao receber uma chamada, a prestadora envia a sinalização para placa digium,
que através do driver zaptel, envia esta sinalização (tons) para ser
interpretada pelo módulo libmfcr2 e este, devolve a sinalização necessária.
Assim que a troca da sinalização é completada, a libunicall empacota os dados
em um formato que o asterisk saiba interpretar através do chan_unicall e
passa pro asterisk.
Dúvida: Como é feita essa conexão dos módulos ? Isto é, como, por exemplo, que
a libmfcr2 chama a libunicall ? Eventos ? Threads ?
OBS.: Um exemplo prático: Encontrei, dentro da libmfcr2, o local que eu
identifico que a ligação é a cobrar, mas não sei como fazer para que essa
ligação seja tratada de forma diferenciada, ou pelo menos informar a uma
camada mais acima que essa ligação é a cobrar.
Obrigado pela atenção.
Diógenes
Mais detalhes sobre a lista de discussão AsteriskBrasil