FOP2: La variable ${BLINDTRANSFER} llega vacía
-
Hola,
He visto que hace dos años una persona escribió al foro con un problema similar al que yo mismo tengo ahora, el título del hilo era este: "No ${BLINDTRANSFER} set "
Mi FOP2 es este: FOP2 - Version 2.30.04 - Licensed to Vigartel SL
Trabajo con Asterisk 13 y CentOs 6.6En la empresa donde estoy todas las transferencias son ciegas, por lo tanto cuando se transfiere a una extensión donde nadie atiende lo que sucede es que al agotarse el tiempo límite para esa extensión, la llamada se dirige por defecto al buzón de voz de la extensión y sino estuviera activado, la llamada se corta sin mas con el subsiguiente cabreo de quien llamó; también puedo hacer que la llamada se quede sonando eternamente en la extensión o que salte a otro sitio, pero lo que yo quiero hacer es que la llamada regrese a quien la ha transferido ....
Para ello me hice un pequeño dialplan que pasada cierta cantidad de segundos sin que nadie atienda, el sistema lee la variable ${BLINDTRANSFER} y de allí saca quien fue el que ha transferido para poder devolver la llamada a esa persona.
Pues bien, cuando transfiero con un teléfono SIP, funciona bien y hace lo que quiero que haga, pero cuando transfiero con el FOP2, la variable ${BLINDTRANSFER} me viene vacía, con lo cual no puedo saber quien ha sido el que ha transferido la llamada y me es imposible devolverla sin ese dato.
He visto en el hilo anterior que le sugeríais tocar el FOP2Callbacks.pm, lo he intentado pero la verdad es que no me entero mucho y no he logrado nada.
Podéis ayudarme con esto ?
Gracias !!!!
-
La transferencia a ciegas desde FOP2 se hace con el comando AMI "Redirect", por lo tanto no va a generarse ninguna variable de ese tipo en el dialplan, ya que no es un teléfono SIP que inicia una transferencia.... no te puedo dar la receta de la solución, pero lo que haría en tu lugar sería hacer un DumpChan en la extensión de destino de la transferencia, luego intentar dicha transferencia desde el FOP2 y revisar las variables seteadas del canal, y compararlas con variables seteadas cuando transfieres desde el teléfono, luego tratar de encontrar alguna variable particular o única del Redirect del FOP2 y modificar tu dialplan de forma acorde, usando dicha variable y no BLINDTRANSFER que no va a estar seteada...
-
-
Escribo solo para información, no hace falta que me respondas
He revisado las variables con DumpChan y veo que cuando transfiero con FOP2 en ninguna me sale quien ha sido el que ha transferido así que no tengo por donde agarrarlo ....
Lo que hago es lo siguiente: La extensión 105 llama a la 112 y ésta última hace una transferencia ciega de la extensión 105 a la extensión 100, la idea es que si la extensión 100 no coge la llamada, vuelva a la extensión 112 que fue quien hizo la transferencia.
Transferencia con teléfono SIP (Variables)
Variables:
DIALSTATUS=NOANSWER
DIALEDTIME=
ANSWEREDTIME=
DIALEDPEERNAME=
DIALEDPEERNUMBER=
SIPDOMAIN=192.168.200.244
SIPTRANSFER_REFERER=sip:112@192.168.200.244
SIPTRANSFER=yes
BLINDTRANSFER=SIP/112-000004dc
SIPREFERREDBYHDR=sip:112@192.168.200.244
SIPREFERRINGCONTEXT=from-internal
SIPADDHEADER04=
SIPADDHEADER03=
SIPADDHEADER02=
SIPADDHEADER01=
SIPCALLID=2975960790@192_168_200_105
SIPURI=sip:105@192.168.200.105:5060Transferencia con panel FOP2 (Variables)
Variables:
DIALSTATUS=NOANSWER
DIALEDTIME=
ANSWEREDTIME=
DIALEDPEERNAME=
DIALEDPEERNUMBER=
SIPADDHEADER04=
SIPADDHEADER03=
SIPADDHEADER02=
SIPADDHEADER01=
SIPCALLID=2893482195@192_168_200_105
SIPDOMAIN=192.168.200.244
SIPURI=sip:105@192.168.200.105:5060Como escribí antes, esto lo dejo a modo informativo, de momento le he dicho al operador que si quiere hacer transferencias ciegas lo haga con el teléfono porque sino la llamada no vuelve y eso es lo que hay así que dejo este tema aquí, gracias por la ayuda !!
-
I am not sure if this will help or not, but this is how we got around the blind transfer button in FOP2 passing blank information. We are applying this to a ring group.
exten => 305,1,Set(RETURN_DIAL=${DIALEDPEERNAME}) ->Need to retain the DIALEDPEERNAME as another variable before the blind transfer occurs
same => n,Dial(${WARR_GRP},20,trw)
same => n,GotoIf($[${LEN(${RETURN_DIAL})}>0]?RETURN)
same => n,Hangup
same => n(RETURN),Log(NOTICE,Returning to transferrer)
same => n,Set(CALLERID(name)=${IF($[${DIALSTATUS}= NOANSWER]?Transfer Not Answered)})
same => n,Set(CALLERID(name)=${IF($[${DIALSTATUS}= BUSY]?Transferee was BUSY:Transfer Failed)})
same => n,Dial(${RETURN_DIAL:0:$[${LEN(${RETURN_DIAL})}-9]})
same => n,Hangup() -
Thank you dwill993 !!!!
This is my old dialplan, very similar to yours ....
exten => _4[1235-9]XX,1,Dial(SIP/${EXTEN},30,t)
same => n,NoOp("Llamada en el Dialplan correcto")
same => n,NoOp(${BLINDTRANSFER})
same => n,GotoIf($[${LEN(${BLINDTRANSFER})}>0]?RETURN)
same => n,Hangup
same => n(RETURN),Log(NOTICE,Devolviendo llamada al que ha transferido)
same => n,Set(CALLERID(name)=${IF($[${DIALSTATUS}= NOANSWER]?Transferencia no contestada)})
same => n,Set(CALLERID(name)=${IF($[${DIALSTATUS}= BUSY]?El transferido comunica:Transferencia no contestada)})
same => n,Dial(${BLINDTRANSFER:0:$[${LEN(${BLINDTRANSFER})}-9]})
same => n,Hangup()I understand your dialplan but my doubt, reading it, is: how do you know if a blind transfer takes place ?
In mine, i know because if is not takes place, ${BLINDTRANSFER} is empty, but in yours ?, what values takes the ${DIALEDPEERNAME} variable in the case you have a blind transfer and in the case you have not ?
Anyway, i did not test your diaplan yet, only is a doubt ....
-
Hello,
Sorry I do not check this forum frequently.
In our specific case we did not care how the call was transferred (blind or not). We always wanted it to return to the ${DIALEDPEERNAME} if the person did not answer. DIALEDPEERNAME is always filled with the extension of who started a transfer to 305
-
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login