Buen dia Amigo yo tambien tengo PJSIP en mi freepbx14 y hasta ahora la comunicacion interna y saliente funciona, yo manejo para mi dialplan extensions.ael, mi archivo antes funcionaba de maravilla cuando invocaba REALTIME, Hoy no puedo echarlo a volar, aqui pongo mi macro donde quiero leer una tabla MySQL donde tengo las contraseñas para salir a la pstn.
context from-service-level {
includes {
eventos;
from-internal;
};
_ZXXX => goto from-internal|${EXTEN}|1;
_9XXXXXXXXXX => goto from-internal|${EXTEN}|1;
_90[29]0 => &permiso(3,${EXTEN});
};
macro permiso(campo,dest) {
Set(GLOBAL(Fila=${REALTIME(services,exten,${CALLERID(num)},&)}));
Set(${CUT(Fila,&,2)}); // Password
Set(valor=${CUT(CUT(Fila,&,${campo}),=,2)}); // Campo correspondiente
switch (${valor}) {
case 1: // Salir a todo
goto from-internal|${dest}|1;
break;
case 2: // Pedir pass
Authenticate(${password});
goto from-internal|${dest}|1;
break;
default: // No salir a nada
Playback(privacy-incorrect);
Congestion(10);
Hangup;
};
};
Aqui te posteo lo que me arroja la consola:
– Executing [9090@from-service-level:1] Gosub(“PJSIP/1154-00000042”, “permiso,s,1(3,9090)”) in new stack
– Executing [s@permiso:1] MSet(“PJSIP/1154-00000042”, “LOCAL(campo)=3”) in new stack
– Executing [s@permiso:2] MSet(“PJSIP/1154-00000042”, “LOCAL(dest)=9090”) in new stack
– Executing [s@permiso:3] MSet(“PJSIP/1154-00000042”, “LOCAL(EXTEN)=s”) in new stack
– Executing [s@permiso:4] MSet(“PJSIP/1154-00000042”, “LOCAL(EXTEN)=s”) in new stack
– Executing [s@permiso:5] Set(“PJSIP/1154-00000042”, “GLOBAL(Fila=exten=1154&password=3531&local=0&ldn=0&ldi=0&cel=0&celld=0&)”) in new stack
– Executing [s@permiso:6] Set(“PJSIP/1154-00000042”, “”) in new stack
[2020-06-25 10:41:26] WARNING[2847][C-00000032]: pbx_variables.c:1138 pbx_builtin_setvar: Set requires one variable name/value pair.
– Executing [s@permiso:7] Set(“PJSIP/1154-00000042”, “valor=”) in new stack
– Executing [s@permiso:8] Goto(“PJSIP/1154-00000042”, “sw_2_,10”) in new stack
– Goto (permiso,sw_2_,10)
– Executing [sw_2_@permiso:10] Goto(“PJSIP/1154-00000042”, “sw_2_.,10”) in new stack
– Goto (permiso,sw_2_.,10)
– Executing [sw_2_.@permiso:10] Playback(“PJSIP/1154-00000042”, “privacy-incorrect”) in new stack
> 0x7efdb818d350 – Strict RTP learning after remote address set to: 192.168.5.167:3000
> 0x7efdb818d350 – Strict RTP switching to RTP target address 192.168.5.167:3000 as source
– <PJSIP/1154-00000042> Playing ‘privacy-incorrect.ulaw’ (language ‘es’)
– Executing [h@permiso:1] Goto(“PJSIP/1154-00000042”, “9991”) in new stack
– Goto (permiso,h,9991)
– Executing [h@permiso:9991] Set(“PJSIP/1154-00000042”, “parentcxt=from-service-level”) in new stack
– Executing [h@permiso:9992] GotoIf(“PJSIP/1154-00000042”, “0?9996”) in new stack
– Executing [h@permiso:9993] GotoIf(“PJSIP/1154-00000042”, “1?9994:9996”) in new stack
– Goto (permiso,h,9994)
– Executing [h@permiso:9994] StackPop(“PJSIP/1154-00000042”, “”) in new stack
– Executing [h@permiso:9995] Goto(“PJSIP/1154-00000042”, “from-service-level,h,1”) in new stack
– Goto (from-service-level,h,1)
– Executing [h@from-service-level:1] Macro(“PJSIP/1154-00000042”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“PJSIP/1154-00000042”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] ExecIf(“PJSIP/1154-00000042”, “0?Set(CDR(recordingfile)=)”) in new stack
– Executing [s@macro-hangupcall:4] NoOp(“PJSIP/1154-00000042”, " montior file= ") in new stack
– Executing [s@macro-hangupcall:5] GotoIf(“PJSIP/1154-00000042”, “1?skipagi”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] Hangup(“PJSIP/1154-00000042”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 7) exited non-zero on ‘PJSIP/1154-00000042’ in macro ‘hangupcall’
== Spawn extension (from-service-level, h, 1) exited non-zero on ‘PJSIP/1154-00000042’
New MFC/R2 call detected on chan 7.