[AsteriskBrasil] RES: Bloqueio de ligações à cobrar com Digium + ISDN

Caio Zanolla zanolla em gmail.com
Domingo Janeiro 15 11:58:47 BRST 2012


Pedro,

Nao me lembro mais pra qual versao é, esse patch é de 2006 :). De qqer
forma, é um patch simples, que muda o codigo pra comparar se veio a
string "Reverse Charging Indication" e em caso positivo faz chamar o
metodo que controla o hangup:

q931_hangup(pri, c, c->cause);

Acho que nao deve ser dificil mudar os drivers atuais, mas tambem acho
que ja devem ter exportado esse parametro pro dialplan como
"PRIREVERSECHARGE" do jeito que o Luiz disse:

exten => _XXXX,1,GotoIf(${PRIREVERSECHARGE}?2:3);
exten => _XXXX,n,Hangup();
exten => _XXXX,n,Answer();


Atenciosamente,

 Caio Zanolla
http://www.caiozanolla.com.br



2012/1/13 Pedro Zaia Boneto <pedro em pritelematica.com.br>:
>    Era isso mesmo Caio, agora ele rodou, mas apresentou erro:
>
> # patch<  acobrar.diff
> patching file q931.c
> Hunk #1 FAILED at 2355.
> 1 out of 1 hunk FAILED -- saving rejects to file q931.c.rej
>
> Este patch eu já havia tentado, mas dizem que é apenas para libpri 1.4,
> procede?
>
> Att,
> Pedro.
>
> Em 13/01/2012 12:20, Caio Zanolla escreveu:
>
>> deve ser a formatacao do gmail.
>> coloca espaco na frente de todas as linhas a nao ser a que comeca com + -
>> ou *
>>
>>
>>
>>
>> 2012/1/13 Pedro Zaia Boneto<pedro em pritelematica.com.br>:
>>>
>>>    Olá Caio,
>>>
>>>        Tentei rodar o patch dessa forma:
>>> [root em localhost libpri]# patch<  acobrar.diff
>>>
>>>    E tive o seguinte retorno:
>>> patch: **** malformed patch at line 6: int full_ie =
>>> Q931_FULL_IE(codeset,
>>> ie->ie);
>>>
>>>    Onde estou errando?
>>>
>>> Att,
>>> Pedro.
>>>
>>> Em 13/01/2012 12:09, Caio Zanolla escreveu:
>>>>
>>>> *** q931.c    2007-06-19 15:23:36.000000000 -0300
>>>> --- q931.mod    2008-08-21 23:54:10.000000000 -0300
>>>> ***************
>>>> *** 2355,2360 ****
>>>> --- 2355,2361 ----
>>>> int full_ie = Q931_FULL_IE(codeset, ie->ie);
>>>> if (pri->debug&    PRI_DEBUG_Q931_STATE)
>>>>
>>>> pri_message(pri, "-- Processing IE %d (cs%d, %s)\n", ie->ie, codeset,
>>>> ie2str(full_ie));
>>>> +         if (strcmp(ie2str(full_ie), "Reverse Charging Indication")
>>>> == 0) q931_hangup(pri, c, c->cause);
>>>> for (x=0;x<sizeof(ies) / sizeof(ies[0]);x++) {
>>>> if (full_ie == ies[x].ie) {
>>>> if (ies[x].receive)


Mais detalhes sobre a lista de discussão AsteriskBrasil