# SVI - Appel d'extensions et par choix (1,2,3...)

**URL:** <https://wazo-platform.discourse.group/t/svi-appel-dextensions-et-par-choix-1-2-3/634>\
**Category:** Installation/Configuration\
**Created:** [December 1, 2020, 2:42pm UTC](https://wazo-platform.discourse.group/t/svi-appel-dextensions-et-par-choix-1-2-3/634 "2020-12-01T14:42:38Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Loic\_S](https://avatars.discourse-cdn.com/v4/letter/l/f14d63/32.png) [@Loic\_S](https://wazo-platform.discourse.group/u/Loic_S)\
**Post date:** [December 1, 2020, 2:42pm UTC](https://wazo-platform.discourse.group/t/svi-appel-dextensions-et-par-choix-1-2-3/634/1 "2020-12-01T14:42:38Z")

</div>

Bonjour,

Je cherche à configurer un SVI dans lequel je puisse appeler un numéro d’extension via son numéro interne directement mais en conservant la possibilité de faire un choix (1,2,3…),

Exemple (j’essai d’être le plus clair et directe possible) :

=\> Appel externe  
=\> SVI (Message Bienvenue + Choix extension si N° interne connu par l’appelant ou choix 2 pour un service en particulier, redirigé sur un groupe)  
=\> Mauvais choix/Pas de choix : Redirigé vers un groupe

J’ai déjà fait ça pour les appels vers les extensions :

;##### CHOICE : Extensions #####

exten =\> s,n,Read(Digits)  
exten =\> s,n,Goto({Digits},1) exten =\> \_XXX,2,Dial(Local/{Digits}@default)  
exten =\> s,n,GotoIf(${Digits})  
same = n,NoOp(waiting for DTMF during 5s)  
same = n,Waitexten(5)

Par contre, je ne sais pas comment comparer mon “Digits” avec les extensions existantes afin de le renvoyer ou non, soit vers l’extension (si existante) soit vers le groupe (inexistante).

Merci ! 🙂

---

<div class="post-metadata">

**Author:** ![quintana](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/quintana/32/916_2.png) [@quintana](https://wazo-platform.discourse.group/u/quintana)\
**Post date:** [December 1, 2020, 10:19pm UTC](https://wazo-platform.discourse.group/t/svi-appel-dextensions-et-par-choix-1-2-3/634/2 "2020-12-01T22:19:29Z")

</div>

Tu pourrais essayer avec la fonction DIALPLAN\_EXISTS par exemple. Je t’invite à faire dans la CLI d’Asterisk :  
core show functions  
core show applications

---

<div class="post-metadata">

**Author:** ![Loic\_S](https://avatars.discourse-cdn.com/v4/letter/l/f14d63/32.png) [@Loic\_S](https://wazo-platform.discourse.group/u/Loic_S)\
**Post date:** [December 2, 2020, 1:27pm UTC](https://wazo-platform.discourse.group/t/svi-appel-dextensions-et-par-choix-1-2-3/634/3 "2020-12-02T13:27:51Z")

</div>

Merci pour la réponse 🙂

J’ai suivi la piste du DIALPLAN\_EXISTS ce matin :

;##### Choix Extension #####

exten =\> s,n,NoOp(#### READ DIGITS #####)  
exten =\> s,n,Read(Digits)

exten =\> s,n,NoOp(#### CHECK DIGITS = EXTENSIONS ####)  
exten =\> s,n,GotoIf(["DIALPLAN\_EXISTS(default,{Digits},1)" = “1”]?calldigits:callgroup)  
_**;Si "Digits est dans le dialplan ( =1) on va à “calldigits”, sinon à "callgroup"**_  
|  
**;Par contre ici, quand je compose un numéro existant ou non, je suis toujours sur le "callgroup"**  
**;J’ai modifié plusieurs fois la fonction, mais sans succès ☹**  
**;Suivant la config, j’arrive soit à suivre le “calldigits” uniquement, soit le “callgroup” uniquement comme si la condition du “GotoIf” ne changeait jamais d’état…**

exten =\> s,n,NoOp(#### CALL EXTENSION/GROUP ####)  
exten =\> s,calldigits,Dial(Local/${Digits}@default)  
exten =\> s,callgroup,Dial(Local/301@default)

Je continue mes recherches/tests 🙂

---

<div class="post-metadata">

**Author:** ![hiousi](https://yyz2.discourse-cdn.com/free1/user_avatar/wazo-platform.discourse.group/hiousi/32/378_2.png) [@hiousi](https://wazo-platform.discourse.group/u/hiousi)\
**Post date:** [February 10, 2021, 11:16am UTC](https://wazo-platform.discourse.group/t/svi-appel-dextensions-et-par-choix-1-2-3/634/4 "2021-02-10T11:16:32Z")

</div>

Hello @Loic_S  
je cherche à faire la même chose.  
as tu finalement reussi ?

---

<div class="post-metadata">

**Author:** ![benasse](https://avatars.discourse-cdn.com/v4/letter/b/e68b1a/32.png) [@benasse](https://wazo-platform.discourse.group/u/benasse)\
**Post date:** [February 11, 2021, 6:58pm UTC](https://wazo-platform.discourse.group/t/svi-appel-dextensions-et-par-choix-1-2-3/634/5 "2021-02-11T18:58:37Z")

</div>

hello,  
Je penses que tu n’utilises pas correctement la fonction DIALPLAN\_EXISTS.

> [@Loic\_S](#):
>
> exten =\> s,n,GotoIf([“DIALPLAN\_EXISTS(default,{Digits},1)” = “1”]?calldigits:callgroup)

Tu peux peut-être tester quelque-chose comme ça :

```
exten => s,n,GotoIf([${DIALPLAN_EXISTS(default,${Digits},1)} = "1"]?calldigits:callgroup)

```

Si cela ne marche pas utilise l’application NoOp() pour voir ce que retourne : `DIALPLAN_EXISTS(default,${Digits},1)`
