Colegas, descobri o problema, seguindo o debug full, salientado pelo Marcio, 
vi que no ladoasterisk ele aceitava todas as cifras,  e no channel.c também não 
havia erros, então o erroestava na lógica, com certeza, reavaliei melhor o 
código, e percebi que faltou uma regra, essa:"if (${desviado}!=5 & 
${LEN(${desviado})}>4) goto todos,${desviado},1;"   Que originalmente não tinha 
o comparativo de tamanho, pra manter o dialplan na espera deum novo dígito, 
encerrando como não encontrado. pois ja estava com as variáveis setadas 
noinício do canal.

Hudson 
(048) 8413-7000
Para quem nao cre, nenhuma prova converte,Para aquele que cre, nenhuma prova 
precisa. 

Date: Sun, 15 Sep 2013 08:25:56 -0400
From: marci...@gmail.com
To: asteriskbrasil@listas.asteriskbrasil.org
Subject: Re: [AsteriskBrasil] Nível dentro de contexto

Hudson, to no celular, mas terça consigo ver pra ti.
Enquanto isso, ativa o debug e full log, simula o erro e posta os logs só do 
problema.
Usa level 3.
[...]'s
Marcio
========================================

########### Campanha Ajude o Marcio! ###########

http://sosmarcio.blogspot.com.br/

http://www.vakinha.com.br/VaquinhaP.aspx?e=195793

========================================
Em 15/09/2013 06:53, "Hudson Cardoso" <hudsoncard...@hotmail.com> escreveu:




   Colegas, tem uma coisa que ta me dando no nos meus cabelos brancos.   Não 
sei se estou fazendo errado, ou se isso é um Bug.
algumas vezes o Asterisk faz a transferência corretamente, e em outras só 
permite umaunica transferência, todas dentro do mesmo contexto, depois que fiz 
a alteração abaixo
ficou da seguinte forma, se eu usar o 15XX, transfere numa boa, e a partir 
disso, aceita qualquer modo de transferência infinitas vezes, mas se a primeira 
opção for 5XX, entãoele só transfere uma unica vez, dando erro em qualquer 
outra tentativa, inclusive a 15XX.
   O Marcelo Terres, indicou usar o __TRANSFER_CONTEXT, mas eu não 
conseguientender muito bem como isso funciona, alguém sabe?.

 _15XX => dial(sip/481992${EXTEN:2},90,tT); _5XX => { set(id=${CALLERID(num)}); 
               set(categoriaconta=${ODBC_LECATEGORIACONTA(${id})});
                if (${categoriaconta}>=1) {set(tamanho=${LEN(${EXTEN:1})});     
                                                       
set(discar=${id:0:$[8-${tamanho}]}${EXTEN:1});                                  
                          set(desviado=${ODBC_LEDESVIO(${discar})});
                                                            if (${desviado}=0) 
dial(sip/${discar},90,TS(3600));                                                
            if (${desviado}!=0 & ${desviado:0:1}=5)                            
{set(tamanho=${LEN(${desviado:1})});
  set(discar=${id:0:$[8-${tamanho}]}${desviado:1});  
dial(sip/${discar},90,TS(3600));}                                               
             if (${desviado}!=5) goto todos,${desviado},1;
                                                            if 
(${ISNULL(${desviado})}=1) {dial(sip/${discar},90,TS(3600));}                   
                                         }                       }


Hudson 
(048) 8413-7000
Para quem nao cre, nenhuma prova converte,Para aquele que cre, nenhuma prova 
precisa. 


From: hudsoncard...@hotmail.com
To: asteriskbrasil@listas.asteriskbrasil.org

Date: Sat, 14 Sep 2013 21:13:34 +0000
Subject: Re: [AsteriskBrasil] Nível dentro de contexto




   Não achei muita documentação sobre o "__TRANSFER_CONTEXT" , sabe me dizer 
mais alguma coisa sobre ele ?
resolvi 90% do meu problema com o codigo abaixo, mas na segunda transferência 
ele dá problema. 

            _5. => {  set(id=${CALLERID(num)});
                           noop(tarnsferindo    motivo =${motivo}   
valor=${valorlig}  numero=${id});                           
set(categoriaconta=${ODBC_LECATEGORIACONTA(${id})});                           
if (${categoriaconta}>=1) {set(tamanho=${LEN(${EXTEN:1})});
                                                            
set(discar=${id:0:$[8-${tamanho}]}${EXTEN:1});                                  
                          set(desviado=${ODBC_LEDESVIO(${discar})});
                                                            if (${desviado}=0) 
dial(sip/${discar},90,TS(3600));                                                
            if (${desviado}!=0 & ${desviado:0:1}=5) 
{set(tamanho=${LEN(${desviado:1})});
                                                                                
            set(discar=${id:0:$[8-${tamanho}]}${desviado:1});                   
                                                                         
dial(sip/${discar},90,TS(3600));}
                                                            if (${desviado}!=5) 
goto todos,${desviado},1;                                                       
     if (${ISNULL(${desviado})}=1) {dial(sip/${discar},90,TS(3600));}
                                                            }                   
        noop(motivo =${motivo}   valor=${valorlig}  numero=${id});              
         }


Hudson 
(048) 8413-7000
Para quem nao cre, nenhuma prova converte,Para aquele que cre, nenhuma prova 
precisa. 


From: mhter...@gmail.com
Date: Fri, 6 Sep 2013 13:37:18 -0300
To: asteriskbrasil@listas.asteriskbrasil.org

Subject: Re: [AsteriskBrasil] Nível dentro de contexto

O Set(__TRANSFER_CONTEXT=<teucontexto>) acho que faz o que tu quer.
 
[]s
Marcelo H. Terres
mhter...@gmail.com

http://mundoopensource.blogspot.com
http://biertasters.blogspot.com
http://twitter.com/mhterres

 
 
2013/9/6 Hudson Cardoso <hudsoncard...@hotmail.com>:
>    Colegas...
>    Gostaria de saber como se faz pra usar transferência de chamadas em

> contexto diferentes.
> ex:
>
> context ddi{
>     _00X.=>  {&discaddi(${EXTEN},${EXTEN});}
>     includes {dddcelular;}}
>
> context dddcelular{
>     _0XX[789]X.=>  {&discamovel(${EXTEN},${EXTEN:1});}

>     includes {dddfixo;}}
>
> context dddfixo{
>     _0XX[2345]XXXXXXX=> {&discafixo(${EXTEN},${EXTEN:1});}
>     includes {celularlocal;}}
>
> context celularlocal{
>     _[789]XXXXXXX => {&discamovel(${EXTEN},48${EXTEN});}

>     includes {fixolocal;}}
>
> context fixolocal{
>     _[2345]XXXXXXX =>  {&discafixo(${EXTEN},48${EXTEN});}
>
>    O problema é que quando tento transferir para um ramal, vem uma mensagem

> do Ast
> dizendo não ser possivel dentro do contexto.
>    Como se contorna isso?
>
>
>
> Hudson
> (048) 8413-7000

> Para quem nao cre, nenhuma prova converte,Para aquele que cre, nenhuma prova
> precisa.
>
>
> _______________________________________________
> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;

> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
> Intercomunicadores para acesso remoto via rede IP. Conheça em www.Khomp.com.
> _______________________________________________

> ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
> Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.

> _______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscr...@listas.asteriskbrasil.org


_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
Intercomunicadores para acesso remoto via rede IP. Conhe�a em www.Khomp.com.
_______________________________________________
ALIGERA � Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
Channel Bank � Appliance Asterisk - Acesse www.aligera.com.br.
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para 
asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
                                          

_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
Intercomunicadores para acesso remoto via rede IP. Conhe�a em www.Khomp.com.
_______________________________________________
ALIGERA � Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
Channel Bank � Appliance Asterisk - Acesse www.aligera.com.br.
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para 
asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
                                          

_______________________________________________

KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;

Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;

Intercomunicadores para acesso remoto via rede IP. Conheça em www.Khomp.com.

_______________________________________________

ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.

Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.

Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.

_______________________________________________

Para remover seu email desta lista, basta enviar um email em branco para 
asteriskbrasil-unsubscr...@listas.asteriskbrasil.org


_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
Intercomunicadores para acesso remoto via rede IP. Conhe�a em www.Khomp.com.
_______________________________________________
ALIGERA � Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
Channel Bank � Appliance Asterisk - Acesse www.aligera.com.br.
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para 
asteriskbrasil-unsubscr...@listas.asteriskbrasil.org                            
         
_______________________________________________
KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
Intercomunicadores para acesso remoto via rede IP. Conheça em www.Khomp.com.
_______________________________________________
ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
_______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para 
asteriskbrasil-unsubscr...@listas.asteriskbrasil.org

Responder a