il faut utiliser la variable PICKUPMARK

Citation Envoyé par lordaker Voir le message
J'ai lu la documentation mais j'ai pas tout compris mais j'arrive à récupérer les appels en interne
entre les poste 101, 102 et 103 en composant les numéros suivants:

_*8101 (pour un appel sur le poste 101)
_*8102 (pour un appel sur le poste 102)
_*8103 (pour un appel sur le poste 103)

Code:
[from-internal]
;======================================================= internal Calls
exten => _1XX,1,NoOp(## Internal Call to the ${EXTEN} ##)
 same => n,Set(__PICKUPMARK=${EXTEN})
 same => n,Ringing()
 same => n,Set(NOW=${STRFTIME(${EPOCH},,%Y%m%d_%H%M%S)})
 same => n,Set(REC_FILE_NAME=OUT_${NOW}_${EXTEN}_${POSTE}.wav)
 same => n,MixMonitor(${REC_FILE_NAME},b V(1))
 same => n,Dial(PJSIP/${EXTEN},20)
 same => n,VoiceMail(${EXTEN},u)
 same => n,Hangup()

;======================================================== Pickup Phone Calls
;exten => _*8101,1,Pickup(101@from-internal)
; same => n,Hangup()

;exten => _*8102,1,Pickup(102@from-internal)
 ;same => n,Hangup()

;exten => _*8103,1,Pickup(103@from-internal)
; same => n,Hangup()

exten => _*81xx,1,Pickup(${EXTEN:2}@PICKUPMARK)
 same => n,Hangup()

Mais pour les appels entrants via mon CID ci-dessous, ça fonctionne pas, auriez-vous une idée de comment résoudre cet difficulté ?

Code:
[from-external]
exten => _028992018,1,NoOp(## Incoming Call from ${CALLERID(all)} ##)
 same => Set(__PICKUPMARK=101)
 same => n,Ringing()
 same => n,Set(NOW=${STRFTIME(${EPOCH},,%Y%m%d_%H%M%S)})
 same => n,System(echo "--appel_sortant --- callerid : ${CALLERID(num)} ---- ${STRFTIME(${EPOCH},,%Y/%m/%d %H:%M:%S)} ----" >> /var/spool/asterisk/log/debug.txt)
 same => n,Set(REC_FILE_NAME=OUT_${NOW}_${EXTEN}_${POSTE}.wav)
 same => n,MixMonitor(${REC_FILE_NAME},b V(1))
 same => n,Set(TYPE=IN)
 same => n,Set(ODBC(CALLSHISTORY()=${NOW},${POSTE},${CALLERID(num)},${EXTEN},${TYPE}))
 same => n,Dial(PJSIP/101,60)
 same => n,VoiceMail(101)
 same => n,Hangup()

;exten => _*8101,1,Pickup(101@from-external)
; same => n,Hangup()