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

Pedro Zaia Boneto pedro em pritelematica.com.br
Segunda Janeiro 16 10:41:35 BRST 2012


         Bom dia Caio,

     O problema é que não posso mudar para os drivers atuais, devido a 
um softphone iax que tenho em Delphi que roda no callcenter da empresa, 
ele é baseado em asterisk 1.2. Estou amarrado à isto.

     O interessante seria um patch para o libpri 1.2 mesmo, mas não 
manjo muito pra poder adaptar. De qualquer forma vou tentando aqui e se 
alguém puder me ajudar, agradeço.

Obrigado,
Pedro.

Em 15/01/2012 11:58, Caio Zanolla escreveu:
> 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