Hola gente necesito saber como hago para tener el mismo uniqueid en 2 contextos distintos por ej yo tengo lo siguiente:
[Entrante]
exten => s,1,Queue(Q-prueba,t,,,25) ; Se va al contexto MemberConnector donde me fijo si grabo la llamada o no.
exten => h,n,NoOp( Cdr uniqueid dpues de queue: ${CDR(uniqueid)})
; assign the second field of QueueMember to Device using the hyphen separator
; filter out any bad characters, allowing alphanumeric characters and the hyphen
exten => h,n,Set(QueueMember=${FILTER(A-Za-z0-9\-,${MEMBERINTERFACE})})
exten => h,n,Set(Device=${CUT(QueueMember,@,1)})
exten => h,n,Set(Device=${CUT(Device,-,2)})
exten => h,n,Set(Device=${CUT(Device,M,1)})
; Averiguamos si el llamante tiene q ser grabado...
exten => h,n,AGI(tieneGrab.php,10,noGuardar,${Device})
; same => 5,Hangup()
; same => 8,set(guardarCdr=1)
xten => h,n,AGI(tieneGrab.php,10,noGuardar,${Device})
; same => 5,Hangup()
; same => 8,set(guardarCdr=1)
exten => h,10,GotoIf( $[$["${CDR(disposition)}" = "ANSWERED"] ]?guardar:noGuardar)
exten => h,n(guardar),MYSQL(Connect connid localhost root pelocaballo astcdr)
exten => h,n,set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d%H%M %S)})
exten => h,n,MYSQL(Query resultid ${connid} INSERT INTO cdr set src="${CALLERID(num)}",dst="${Device}",calldate="$ {calltime}",channel="${CDR(channel)}",dstchannel=" ${CDR(dstchannel)}",duration="${CDR(duration)}",ac countcode="${CDR(accountcode)}",uniqueid="${UNIQUE ID}",modo="Entrante")
exten => h,n(noGuardar),Hangup()
[MemberConnector]
same => n,Set(QueueMember=${FILTER(A-Za-z0-9\-,${EXTEN})})
same => n,Set(Technology=${CUT(QueueMember,-,1)})
same => n,Set(Device=${CUT(QueueMember,-,2)})
same => n,AGI(tieneGrab.php,7,8,${Device})
same => 7,MixMonitor(/var/www/html/rec2/recs/${UNIQUEID}.gsm)
; dial the agent
same => 8,Dial(${Technology}/${Device},25,Tt)
Cuando ejecuta el Mixmonitor ${UNIQUEID} tiene un valor, y cuando lo voy a guardar en el contexto Entrante a mysql ${UNIQUEID} tiene otro valor.
Intente con ${CDR(uniqueid)} pero es lo mismo que con ${UNIQUEID}
No puedo hcer todo desde el contexto MemberConnector xq luego del Dial retorna al contexto ENtrante.
Como puedo hcer para grabar en la BD x mysql el mismo uniqueid que obtengo cdo hago Mixmonitor??
Gracias.
[Entrante]
exten => s,1,Queue(Q-prueba,t,,,25) ; Se va al contexto MemberConnector donde me fijo si grabo la llamada o no.
exten => h,n,NoOp( Cdr uniqueid dpues de queue: ${CDR(uniqueid)})
; assign the second field of QueueMember to Device using the hyphen separator
; filter out any bad characters, allowing alphanumeric characters and the hyphen
exten => h,n,Set(QueueMember=${FILTER(A-Za-z0-9\-,${MEMBERINTERFACE})})
exten => h,n,Set(Device=${CUT(QueueMember,@,1)})
exten => h,n,Set(Device=${CUT(Device,-,2)})
exten => h,n,Set(Device=${CUT(Device,M,1)})
; Averiguamos si el llamante tiene q ser grabado...
exten => h,n,AGI(tieneGrab.php,10,noGuardar,${Device})
; same => 5,Hangup()
; same => 8,set(guardarCdr=1)
xten => h,n,AGI(tieneGrab.php,10,noGuardar,${Device})
; same => 5,Hangup()
; same => 8,set(guardarCdr=1)
exten => h,10,GotoIf( $[$["${CDR(disposition)}" = "ANSWERED"] ]?guardar:noGuardar)
exten => h,n(guardar),MYSQL(Connect connid localhost root pelocaballo astcdr)
exten => h,n,set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d%H%M %S)})
exten => h,n,MYSQL(Query resultid ${connid} INSERT INTO cdr set src="${CALLERID(num)}",dst="${Device}",calldate="$ {calltime}",channel="${CDR(channel)}",dstchannel=" ${CDR(dstchannel)}",duration="${CDR(duration)}",ac countcode="${CDR(accountcode)}",uniqueid="${UNIQUE ID}",modo="Entrante")
exten => h,n(noGuardar),Hangup()
[MemberConnector]
same => n,Set(QueueMember=${FILTER(A-Za-z0-9\-,${EXTEN})})
same => n,Set(Technology=${CUT(QueueMember,-,1)})
same => n,Set(Device=${CUT(QueueMember,-,2)})
same => n,AGI(tieneGrab.php,7,8,${Device})
same => 7,MixMonitor(/var/www/html/rec2/recs/${UNIQUEID}.gsm)
; dial the agent
same => 8,Dial(${Technology}/${Device},25,Tt)
Cuando ejecuta el Mixmonitor ${UNIQUEID} tiene un valor, y cuando lo voy a guardar en el contexto Entrante a mysql ${UNIQUEID} tiene otro valor.
Intente con ${CDR(uniqueid)} pero es lo mismo que con ${UNIQUEID}
No puedo hcer todo desde el contexto MemberConnector xq luego del Dial retorna al contexto ENtrante.
Como puedo hcer para grabar en la BD x mysql el mismo uniqueid que obtengo cdo hago Mixmonitor??
Gracias.
Comentario