[AsteriskBrasil] Cadeado implementação para 1.4

Diego Aguirre (DagMoller) dag.voip em oi.com.br
Segunda Junho 23 08:50:37 BRT 2008


Felipe,

na linha exten => _*14*xxxx,4,Set(DB(CADEADO/${CALLERID(NUM))}) utilize o DB_DELETE:
exten => _*14*xxxx,4,Set(lixo=${DB_DELETE(CADEADO/${CALLERID(NUM)})})

Felippe escreveu:
>    Desculpe, dei uma lida em voip-info e vi que o parametro nao eh 
> simplesmente DB como havia entendido ser, e sim:  Set(foo=${DB(family/key)})
> 
>    Estou tentando mudar este cadeado encontrado para funcionar no 
> asterisk 1.4 e disponibilizar para todos, uma vez que parece somente 
> funcionar no 1.2 desta forma descrita nas postagens anteriores do forum.
> 
>    Mudei alguns parametros, porem mesmo assim não entendo pq apos 
> ativação do cadeado as chamadas continuam passando.. Vejam os passos 
> para cadastro da senha e apos ativação:
> 
>    1 - *11*1234  (cadastrar senha, apos cadastro ouço os tres beeps sem 
> erros)
>    2 - *13*1234 (ativar o cadeado, apos ativação ouço o beeps 
> normalmente sem erros)
>    3 -  *101145451212 (Faço uma ligação qualquer para ver se o cadeado 
> esta funcionando)
>    4 - A ligação passa normalmente como se nada tivesse bloqueando.
> 
>          A estru tura do cadeado esta listada abaixo:
> ;cadastrar senha cadeado
> exten => _*11*xxxx,1,NoCDR()
> exten => _*11*xxxx,2,Set(senha=${DB(CADEPASS/${CALLERID(NUM)})})
> exten => _*11*xxxx,3,GoToIf($["${senha}" = ""]?5:4)
> exten => _*11*xxxx,4,Hangup
> exten => _*11*xxxx,5,Set(DB(CADEPASS/${CALLERID(NUM)})=${EXTEN:4})
> exten => _*11*xxxx,6,Wait(2)
> exten => _*11*xxxx,7,Playback(beep)
> exten => _*11*xxxx,8,Playback(beep)
> exten => _*11*xxxx,9,Playback(beep)
> exten => _*11*xxxx,10,Hangup
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;trocar senha cadeado
> exten => _*12*xxxxxxxx,1,NoCDR()
> exten => _*12*xxxxxxxx,2,Set(cadp=${DB(CADEPASS/${CALLERID(NUM)})})
> exten => _*12*xxxxxxxx,3,GoToIf($["${cadp}" = "${EXTEN:4:4}"]?4:9)
> exten => _*12*xxxxxxxx,4,Set(DB(CADEPASS/${CALLERID(NUM)})=${EXTEN:8})
> exten => _* 12*xxxxxxxx,5,Wait(2)
> exten => _*12*xxxxxxxx,6,Playback(beep)
> exten => _*12*xxxxxxxx,7,Playback(beep)
> exten => _*12*xxxxxxxx,8,Playback(beep)
> exten => _*12*xxxxxxxx,9,Hangup
> exten => _*12*xxxxxxxx,10,Hangup
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;colocar cadeado
> exten => _*13*xxxx,1,NoCDR()
> exten => _*13*xxxx,2,Set(cadp=${DB(CADEPASS/${CALLERID(NUM)})})
> exten => _*13*xxxx,3,GoToIf($["${cadp}" = "${EXTEN:4}"]?4:9)
> exten => _*13*xxxx,4,Set(DB(CADEADO/${CALLERID(NUM)})=y)
> exten => _*13*xxxx,5,Wait(2)
> exten => _*13*xxxx,6,Playback(beep)
> exten => _*13*xxxx,7,Playback(beep)
> exten => _*13*xxxx,8,Playback(beep)
> exten => _*13*xxxx,9,Hangup
> exten => _*13*xxxx,10,Hangup
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;retirar cadeado
> exten => _*14*xxxx,1,NoCDR()
> exten => _*14*xx xx,2,Set(cad=${DB(CADEPASS/${CALLERID(NUM)})})
> exten => _*14*xxxx,3,GoToIf($["${cad}" = "${EXTEN:4}"]?4:10)
> exten => _*14*xxxx,4,Set(DB(CADEADO/${CALLERID(NUM))})
> exten => _*14*xxxx,5,Wait(2)
> exten => _*14*xxxx,6,Playback(beep)
> exten => _*14*xxxx,7,Playback(beep)
> exten => _*14*xxxx,8,Playback(beep)
> exten => _*14*xxxx,9,Hangup
> exten => _*14*xxxx,10,Hangup
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;extensao de ligação que verificar se o ramal tem cadeado
> exten => _*10xxxxxxxxxx,1,Set(cad=${DB(CADEADO/${CALLERID(NUM)})})
> exten => _*10xxxxxxxxxx,2,GoToIf($["${cad}" = "y"]?4:3)
> exten => _*10xxxxxxxxxx,3,dial(sip/povedor/0${EXTEN:3},90,tT)
> exten => _*10xxxxxxxxxx,4,Hangup()
> 
>      O único parâmentro onde vejo um warning na cli é quando vou re 
> tirar a senha:
> 
>      1 - *14*1234 (sendo que  embora ouço os tres beeps, o retorno da 
> cli abaixo possui um warning)
> 
>    -- Executing [*14*1234 em default:1] NoCDR("SIP/20-081feec8", "") in new 
> stack
>     -- Executing [*14*1234 em default:2] Set("SIP/20-081feec8", "cad=1234") 
> in new stack
>     -- Executing [*14*1234 em default:3] GotoIf("SIP/20-081feec8", 
> "1?4:10") in new stack
>     -- Goto (default,*14*1234,4)
>     -- Executing [*14*1234 em default:4] Set("SIP/20-081feec8", 
> "DB(CADIADO/20") in new stack
> [Jun 23 03:47:10] WARNING[11028]: pbx.c:5933 pbx_builtin_setvar: 
> Ignoring entry 'DB(CADEADO/20' with no = (and not last 'options' entry)
>     -- Executing [*14*1234 em default:5] Wait("SIP/20-081feec8", "2") in 
> new stack
>     -- Executing [*14*1234 em default:6] Playback("SIP/20-081feec8", " 
> beep") in new stack
>     -- <SIP/20-081feec8> Playing 'beep' (language 'pt_BR')
>     -- Executing [*14*1234 em default:7] Playback("SIP/20-081feec8", 
> "beep") in new stack
>     -- <SIP/20-081feec8> Playing 'beep' (language 'pt_BR')
>     -- Executing [*14*1234 em default:8] Playback("SIP/20-081feec8", 
> "beep") in new stack
>     -- <SIP/20-081feec8> Playing 'beep' (language 'pt_BR')
>     -- Executing [*14*1234 em default:9] Hangup("SIP/20-081feec8", "") in 
> new stack
>   == Spawn extension (default, *14*1234, 9) exited non-zero on 
> 'SIP/20-081feec8'
> 
>     Alguem tem alguma ideia de onde existe o erro?
>  
>     Cordial,
>              Felippe.
> 
> Em 22/06/2008 04:03, *Felippe * escreveu:
> 
> 
>     Opa, então, troquei para DB mas nada..
> 
>      
> 
>     Cli> -- Executing [*11*1234 em default:1] NoCDR("SIP/20-081ff6e0", "")
>     in new stack
>     [Jun 22 04:02:58] WARNING[7680]: pbx.c:1821 pbx_extension_helper: No
>     application 'DB' for extension (default, *11*1234, 2)
>     == Spawn extension (default, *11*1234, 2) exited non-zero on
>     'SIP/20-081ff6e0'
> 
>     Tenho asterisk 1.4.19.1
> 
>     Adaptei o dbget e dbput para db como descreveu e lembrei de corrigir
>     o callerid tb.
> 
>      
> 
>     Estou tentando este primeiramente:
> 
>     ;cadastrar senha cadeado
>     exten => _*11*xxxx,1,NoCDR()
>     exten => _*11*xxxx,2,DB(senha=CADEPASS/${CALLERID(NUM)})
>     exten => _*11*xxxx,3,GoToIf($["${senha}" = ""]?5:4)
>     exten => _*11*xxxx,4,Hangup
>     exten => _*11*xxxx,5,DB(CADEPASS/${CALLERID(NUM)}=${EXTEN:4})
>     exten => _*11*xxxx,6,Wait(2)< br />exten =>
>     _*11*xxxx,7,Playback(beep)< br />exten => _*11*xxxx,8,Playback(beep)
>     exten => _*11*xxxx,9,Playback(beep)
>     exten => _*11*xxxx,10,Hangup
> 
>      
> 
>      
> 
>     Obg.
>     Felippe
> 
>      
> 
>      
> 
>     Em 18/06/2008 11:55, *Leonardo Gomes Figueira * escreveu:
> 
> 
>         U Felippe escreveu:
>          > Aproveitando aquele velho cadeado visto aqui na lista,
>         coloquei para
>          > rodar no meu asterisk mas sempre sem sucesso, já tentei ver
>         algumas
>          > coisas e estava deixando isso de lado.. mas posto aqui na
>         lista para
>          > alguma ajuda.
>          > Ramal que tenho é o 2000
>          >
>          >
>          > Veja o que retorna:
>          >
>          > -- Executing [*11*2000 em default:1] NoCDR(";SIP/23-08216fe0";,
>         ";";) in
>          > new stack
>          > [May 26 00:23:46] WAR NING[5082]: pbx.c:1821
>         pbx_extension_helper: No
>          > application 'DBget' for extension (default, *11*2000, 2)
>          > == Spawn extension (default, *11*2000, 2) exited non-zero on
>          > 'SIP/23-08216fe0'
>          >
> 
>         DBget/DBput só tem no Asterisk 1.0 e 1.2 (deprecated). Provavelmente
>         você está usando 1.4 ou maior portanto basta adaptar o dialplan
>         para a
>         função DB() que substituiu ambos.
> 
>         Leonardo
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Compre uma camiseta da AsteriskBrasil.org!
> http://www.voipmania.com.br
> 
> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br
> _______________________________________________
> Lista de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

-- 
Diego Aguirre
Infodag - Informática
FWD#: 459696
EnumLookup#: +55 21 8138-2710
DUNDi-br#: 21 8138-2710 


More information about the AsteriskBrasil mailing list