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