<p>Mauricio,</p>
<p>Seus scripts estão sendo executados pelo usuário que roda o asterisk, normalmente um usuário não privilegiado. Você precisa de privilegio root para comandos de roteamento, então recomendo que configure o sudo e configure o seu script para utiliza-lo.</p>
<p>Abraço!</p>
<div class="gmail_quote">Em 01/09/2011 00:46, "Mauricio Magalhães" <<a href="mailto:mauriciommagalhaes@gmail.com">mauriciommagalhaes@gmail.com</a>> escreveu:<br type="attribution">> Olá meninada (*)<br>
> <br>> Tenho um problema com um script que criei na central, não funciona, o<br>> objetivo é fazer com que o operador troque o "Gateway default" do servidor<br>> em caso de um dos links estiverem OFFLINE utilizando um ramal. Para isto<br>
> criei dois scripts bash um *gvt.sh* e outro* ebt.sh* e coloquei no *<br>> extencion_custom.conf* (USO O ELASTIX) as seguintes linhas:<br>> <br>> *[trocar_gateway]*<br>> *exten => 123,n,Answer()*<br>> *exten => 123,n,Authenticate(123456||6)*<br>
> *exten => 123,n,Background(beep)*<br>> *exten => 123,n,Read(GTW,,1)*<br>> *exten => 123,n,GotoIf($[${GTW}=1]?GVT:EBT)*<br>> *exten => 123,n(GVT),System(/root/bin/gvt.sh)*<br>> *exten => 123,n,Hangup()*<br>
> *exten => 123,n(EBT),System(/root/bin/ebt.sh)*<br>> *exten => 123,n,Hangup()*<br>> <br>> 1 - Pelo log no CLI, verifico que funciona as funções acima, porém o Gateway<br>> não é modificado - Versão (Asterisk 1.4.26.1)<br>
> 2 - Executando os arquivos *.sh mencionado acima manualmente, funciona<br>> normalmente.<br>> <br>> Segue Abaixo o Log:<br>> <br>> *-- Executing [123@NIVEL4:1] ResetCDR("SIP/3002-085bb950", "") in new stack<br>
> *<br>> * -- Executing [123@NIVEL4:2] Answer("SIP/3002-085bb950", "") in new<br>> stack*<br>> * -- Executing [123@NIVEL4:3] Authenticate("SIP/3002-085bb950",<br>> "123456||6") in new stack*<br>
> * -- <SIP/3002-085bb950> Playing 'agent-pass' (language 'pt_BR')*<br>> * -- <SIP/3002-085bb950> Playing 'auth-thankyou' (language 'pt_BR')*<br>> * -- Executing [123@NIVEL4:4] BackGround("SIP/3002-085bb950", "beep") in<br>
> new stack*<br>> * -- <SIP/3002-085bb950> Playing 'beep' (language 'pt_BR')*<br>> * -- Executing [123@NIVEL4:5] Read("SIP/3002-085bb950", "GTW||1") in new<br>> stack*<br>
> * -- Accepting a maximum of 1 digits.*<br>> * -- User entered '1'*<br>> * -- Executing [123@NIVEL4:6] GotoIf("SIP/3002-085bb950", "1?GVT:EBT") in<br>> new stack*<br>> * -- Goto (NIVEL4,123,7)*<br>
> * -- Executing [123@NIVEL4:7] System("SIP/3002-085bb950",<br>> "/root/bin/gvt.sh") in new stack*<br>> * -- Executing [123@NIVEL4:8] Hangup("SIP/3002-085bb950", "") in new<br>
> stack*<br>> * == Spawn extension (NIVEL4, 123, 8) exited non-zero on<br>> 'SIP/3002-085bb950'*<br>> * -- Executing [h@NIVEL4:1] Macro("SIP/3002-085bb950", "hangupcall|") in<br>
> new stack*<br>> * -- Executing [s@macro-hangupcall:1] GotoIf("SIP/3002-085bb950",<br>> "1?skiprg") in new stack*<br>> * -- Goto (macro-hangupcall,s,4)*<br>> * -- Executing [s@macro-hangupcall:4] GotoIf("SIP/3002-085bb950",<br>
> "1?skipblkvm") in new stack*<br>> * -- Goto (macro-hangupcall,s,7)*<br>> * -- Executing [s@macro-hangupcall:7] GotoIf("SIP/3002-085bb950",<br>> "1?theend") in new stack*<br>
> * -- Goto (macro-hangupcall,s,9)*<br>> * -- Executing [s@macro-hangupcall:9] Hangup("SIP/3002-085bb950", "") in<br>> new stack*<br>> * == Spawn extension (macro-hangupcall, s, 9) exited non-zero on<br>
> 'SIP/3002-085bb950' in macro 'hangupcall'*<br>> * == Spawn extension (NIVEL4, h, 1) exited non-zero on 'SIP/3002-085bb950'*<br>> <br>> <br>> Ajudem-me! por favor<br>> <br>> Abraços<br>
> <br>> *Maurício Magalhães*<br>> <br>> <br>> <br>> *Maurício Magalhães.*<br></div>