Affichage des résultats 1 à 10 sur 10

Discussion: Comment récupérer un appel entrant depuis un autre téléphone SIP ?

  1. #1
    Membre
    Date d'inscription
    janvier 2017
    Messages
    50
    Downloads
    1
    Uploads
    0

    Question Comment récupérer un appel entrant depuis un autre téléphone SIP ?

    Bonjour à tous,

    Je voudrais savoir comment puis-je faire pour récupérer un appel sur une extension 101
    via mon extension 103 par exemple. Sauriez-vous comment le faire ?

    Bien à vous,
    Lordaker

  2. #2
    Membre Junior
    Date d'inscription
    janvier 2015
    Messages
    27
    Downloads
    0
    Uploads
    0
    Bonjour,

    Qu'entends tu par "récupérer un appel" ?
    Est ce que tu veux récupérer un appel sur le poste 103 quand le téléphone 101 sonne ? dans ce cas il s'agit d'une interception d'appel

    Si je me trompe pourrais tu expliquer plus en détails ce que tu veux ?
    MrSerein

  3. #3
    Membre
    Date d'inscription
    janvier 2017
    Messages
    50
    Downloads
    1
    Uploads
    0

    Question

    Citation Envoyé par MrSerein Voir le message
    Bonjour,

    Qu'entends tu par "récupérer un appel" ?
    Est ce que tu veux récupérer un appel sur le poste 103 quand le téléphone 101 sonne ? dans ce cas il s'agit d'une interception d'appel

    Si je me trompe pourrais tu expliquer plus en détails ce que tu veux ?
    MrSerein
    Oui, je veux réaliser l'interception de l'appel sur le 101 via mon téléphone SIP 103 lorsque le 101 sonne.
    Mais je sais pas comment le faire ? Auriez-vous une idée ? Ou est-ce une fonction native d'Asterisk ?

    Bien à vous,
    Lordaker

  4. #4
    Asterisk Fan Avatar de fastm3
    Date d'inscription
    août 2010
    Localisation
    Corbeil Essonnes (91)
    Messages
    1 302
    Downloads
    1
    Uploads
    1
    oui, c'est natif. pas si simple a implementer que ca parait en dialplan meme si mes souvenirs datent de versions plus vraiment actuelles. Wazo ou freepbx integre ca.
    https://wiki.asterisk.org/wiki/display/AST/Call+Pickup
    Tu peux soit faire un pickup general ( *8 par defaut generallement ) , tu recuperes le tel qui sonne du groupe ( attention a bien setter le call group et pickup group des extensions pour que ca marche ) . Ou directed pickup ** ext par defaut habituellement, pour une extension particuliere. Avec un tel avec des touches blf, c'est ce qui se passe sous le capot quand tu interceptes un appel en cours ( touche blf du tel qui clignotte )
    Francois.

  5. #5
    Membre
    Date d'inscription
    janvier 2017
    Messages
    50
    Downloads
    1
    Uploads
    0

    Question

    Citation Envoyé par fastm3 Voir le message
    oui, c'est natif. pas si simple a implementer que ca parait en dialplan meme si mes souvenirs datent de versions plus vraiment actuelles. Wazo ou freepbx integre ca.
    https://wiki.asterisk.org/wiki/display/AST/Call+Pickup
    Tu peux soit faire un pickup general ( *8 par defaut generallement ) , tu recuperes le tel qui sonne du groupe ( attention a bien setter le call group et pickup group des extensions pour que ca marche ) . Ou directed pickup ** ext par defaut habituellement, pour une extension particuliere. Avec un tel avec des touches blf, c'est ce qui se passe sous le capot quand tu interceptes un appel en cours ( touche blf du tel qui clignotte )
    Francois.
    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,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()

    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 => 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()

  6. #6
    Membre Senior
    Date d'inscription
    janvier 2011
    Localisation
    Villejuif 94
    Messages
    337
    Downloads
    0
    Uploads
    0
    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()
    

  7. #7
    Membre
    Date d'inscription
    janvier 2017
    Messages
    50
    Downloads
    1
    Uploads
    0

    Question

    Citation Envoyé par olppp Voir le message
    il faut utiliser la variable PICKUPMARK
    Salut @olppp,

    Merci pour ta réponse.

    J'ai essayé avec PICKUPMARK mais cela ne fonctionne pas. Ni pour les appels en interne que les appels entrants.

    Avec Pickup(${EXTEN}@context), sa fonctionne bien en interne, mais pour les appels externe ça fonctionne pas.

    Problème de syntaxe ?

  8. #8
    Membre Senior
    Date d'inscription
    janvier 2011
    Localisation
    Villejuif 94
    Messages
    337
    Downloads
    0
    Uploads
    0
    La casse
    Code:
    exten => _*81XX,1,Pickup(${EXTEN:2}@PICKUPMARK)
     same => n,Hangup()

  9. #9
    Membre
    Date d'inscription
    janvier 2017
    Messages
    50
    Downloads
    1
    Uploads
    0

    Post

    Citation Envoyé par olppp Voir le message
    La casse
    Code:
    exten => _*81XX,1,Pickup(${EXTEN:2}@PICKUPMARK)
     same => n,Hangup()
    Non, je l'ai bien écrit dans mon fichier extensions.conf

    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 => _*81XX,1,Pickup({$EXTEN:2}@PICKUPMARK)
     same => n,Hangup()

  10. #10
    Membre Senior
    Date d'inscription
    janvier 2011
    Localisation
    Villejuif 94
    Messages
    337
    Downloads
    0
    Uploads
    0

    Essayes en précisant le context
    pas de souligné devant une extension, seulement pour déclarer les pattern.
    Code:
    [from-external]
    ;exten => _028992018,1,NoOp(## Incoming Call from ${CALLERID(all)} ##)
    exten => 028992018,1,NoOp(## Incoming Call from ${CALLERID(all)} ##)
     same => Set(__PICKUPMARK=101@from-external)
     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()
    encore il faut 2 soulignés pour que la variable persiste.
    Code:
    [from-internal]
    ;======================================================= internal Calls
    exten => _1XX,1,NoOp(## Internal Call to the ${EXTEN} ##)
     same => n,Set(__PICKUPMARK=${EXTEN}@from-internal)
     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 => _*81XX,1,Pickup({$EXTEN:2}@PICKUPMARK)
     same => n,Hangup()

Les tags pour cette discussion

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •