PDA

Voir la version complète : XIvo en passerelle Rnis (genre Patton)



Vincent
24/09/2010, 14h25
Bonjour

Je souhaite mettre en place une passrelle entre un PABX et 2 T0 Numeris.
A la place d'installer une Patton (ou autre), je préfère y mettre Xivo équipé d'une carte Digium (4 ports T0) car dans un futur relativement proche, le PABX sera supprimé.

J'ai toujours configuré Astérisk en "tout IP" avec des lignes et utilisateurs SIP, c'est la première fois que j'utilise une carte RNIS.

- J'ai créé 2 canaux dans misdn.conf:
un qui utilise les ports 1 et 2 de la carte Digium (vers numéris)
l'autre qui utilise les ports 3 et 4 (vers mon pabx).

Dans un premier temps, je veux que les communications traversent XIVO de manière complètement transparente, sans utiliser de ligne SIP (ou autre). Je sais, ça ne sert à rien, mais je veux comprendre comment ça fonctionne.

Ma question:
Avec Xivo, faut - il considérer le PABX existant connecté aux ports 3 et 4 de ma Carte Digium comme un utilisateur classique ?
Si non, je ne comprends pas comment faire passer mes appels entrants de numéris vers le PABX...

C'est ma première question (Je pense qu'il y en aura d'autreS).

Merci
Vincent

Reaper
24/09/2010, 17h16
Je mettrais une distrib asteirisk à la place te gateway seulement si j'au du matériel déjà sans la possibilité de le changer.
Sinon pas la peine de mettre une interface web franchement. Il faut juste créer un utilisateur sip coté gw et to connecter avec ta pabx en sip ou autre.
Pour entrant c'est pareil.

therebel23
24/09/2010, 21h01
Je pense que tu dois créer 2 contextes et 2 interconnexions personnalisées (1 contexte par interco) :
- une pour les ports 1 et 2 (RNIS : contexte rnis)
- une pour les ports 3 4 (ton pabx : contexte pabx)

Voir pour configurer les interco sur carte digium :

https://wiki.xivo.fr/index.php/Config_XiVO_Server#Installation_d.27une_carte_T0

Ensuite, il suffit dans gestion des appels > appels sortants d'en définir deux :

- un pour le contexte rnis qui redirigera tout appel X. vers ton interco pabx
- un pour le contexte pabx qui redirigera tout appel X. vers ton interco rnis

Je dis ça car ça me parait logique, j'ai pas testé ..

cats
24/09/2010, 21h07
je t'invite à regarder le lien ci-dessous :

https://wiki.xivo.fr/index.php/XiVO_1.0-Dalek/XiVO_en_coupure_d%27un_PABX

L'exemple est avec un accès T2 (Dahdi)

Vincent
24/09/2010, 21h30
Merci Cats et merci therebel23

Je vais essayer tout ça, je vous tiens au courant.

merci encore
Vincent

Vincent
24/09/2010, 21h51
J'ai 2 questions supplémentaires:
1 Peut on mettre un cable réseau classique droit entre le pabx et la carte Rnis de Xivo ou bien y a t il un schéma de cablage spécial pour du RNIS ?

2 Peut on brancher un téléphone numérique directement sur la carte Digium ? Dans ce cas là, peut il être défini comme un utilisateur dans l'interface web de XIVO ?

Je m'excuse par avance si mes questions parraissent bêtes...

Vincent

cats
25/09/2010, 10h18
1 - il n'y a pas de questions bêtes.
2 - Qu'est ce que tu entends par poste numérique ( Type S0 compatible Q931 ?)
3 - Pour les câbles il faut toujours être en phase avec celui qui est en face (PABX ou OPERATEUR) et comme tu arrives le dernier : c'est à toi de t'adapter
- Pour un T2 (30 canaux voix MAX) sur un RJ45 (8 pins) le standard est 1-2 pour la paire réception en générale sur ta carte et 4-5 pour l'émission.
- Pour un T0 (2 canaux voix MAX) sur un RJ45 (8 pins) le standard est 4-5 pour la paire réception en générale sur ta carte et 3-6 pour l'émission.
Il faut garder l'intégrité des paires torsadées du câble que tu utilise et prendre du câble 120 Ohms (C'est la norme). Comme il n'y a qu'une paire dans chaque sens (Tx & Rx) si ça ne fonctionne pas tu croises.

Tu peux trouver ces infos dans les docs des cartes DIGIUM.

Vincent
01/10/2010, 15h52
Suite de mon installation XIVO en passerelle RNIS
J'ai suivi le tuto:
https://wiki.xivo.fr/index.php/XiVO_...re_d%27un_PABX en l'appliquant à ma carte b410P
Je n'ai pas encore pu tester car je n'ai ligne numéris que lundi soir.

Sur la carte, j'ai modifié les "jumpers":
J'ai laissé les ports 1 et 2 de la carte en TE : vers numéris
j'ai mis les ports 3 et 4 en NT: vers mon pabx.
Question 1: Ai- je bien fait ou bien c'était inutile ?

Question 2:
Sur un appel entrant vers un SDA 04 XX XX 25 16, je veux faire sonner une ligne SIP "100" enregistrée sur XIVO et en même temps le téléphone qui correspond à ce numéro sur le pabx .
Comment paramettrer XIVO pour faire ça ?
Si on veut faire sonner 2 téléphones en même temps, il faut créer un groupe. Mais comment faire entrer mon pabx (qui n'est pas considéré comme un utilisateur )dans le groupe ?

Merci
Vincent

al3x
01/10/2010, 18h00
Salut,

Pour la configuration de la carte, je dirais que tu as bien fait.
TE pour les ports coté opérateur
NT pour les ports coté PABX car c'est XiVO qui se comportera comme "opérateur" pour le PABX.
Bien penser aux valeurs de l'horloge sur ces ports.
Il faut que ports 1&2 recoivent l'horloge, que les ports 3&4 la donnent.

Pour la question 2, c'est plus un trick de dialplan.
Il existe plusieurs façons de faire cela.


Il est possible de faire de multiples Dial en même temps dans le dialplan donc par exemple, sur ta SDA, tu choisis
destination personnalisée
et dans la commande, tu peux mettre
Dial(SIP/100&Local/#99<n°PABX>@default|30|tT)

Et là les deux postes seront appelés en simultané.

C'est ce certainement le plus simple pour le moment.

Après, définir comme numéro de portable de ton user SIP XiVO, son numéro sur le PABX (Général->services).
Il te faudra par exemple une règle d'appel sortant du genre "#99." dans ton contexte "to-pabx" qui permette aux users XiVO de joindre les users du PABX.
Le numéro de "portable" ressemblera alors à #99<n° pabx>.

Et utiliser la sous-routine de pré-traitement suivante sur ton utilisateur qui appellera en simultané le user SIP et son "portable":
<pre>
[pre-mobility]
exten = s,1,NoOp(Extra XiVO mobility)
exten = s,n,GotoIf(${XIVO_MOBILEPHONENUMBER}?:return)
exten = s,n,NoOp(Mobile Phone : ${XIVO_MOBILEPHONENUMBER})
exten = s,n,Set(XIVO_INTERFACE=${XIVO_INTERFACE}&Local/${XIVO_MOBILEPHONENUMBER}@${XIVO_REAL_CONTEXT})
exten = s,n(return),Return()
</pre>

La 1ère solution présente l'avantage de passer par le dialplan XiVO et donc la possibilité de remonter des noms à partir du carnet d'adresses...

Bonne continuation.

Vincent
04/10/2010, 16h32
TE pour les ports coté opérateur
NT pour les ports coté PABX car c'est XiVO qui se comportera comme "opérateur" pour le PABX.
Bien penser aux valeurs de l'horloge sur ces ports.
Il faut que ports 1&2 recoivent l'horloge, que les ports 3&4 la donnent.


Merci Al3x,
mais comment fait-on avec XIVO pour paramettrer l'horloge dans la mesure où XIVO n'utilise pas Dahdi mais mISDN avec une carte T0. (j'ai dis une "connerie" ??).

Vincent

al3x
04/10/2010, 18h50
Au temps pour moi j'avais zappé la B410P :)

Avec Dahdi et des T2, c'est tout expliqué, avec des T0....

Dans le fichier /etc/mISDN.conf, tu as en haut le descriptif des champs que tu
peux utiliser dans le XML. (http://www.misdn.org/index.php/Configuring_mISDN)

Pour la B410P y'a des options de "clocking" pour les ports, mais peut-être que mettre le port NT suffit.

Si quelqu'un a une idée là dessus...

++

Vincent
11/10/2010, 15h30
Bonjour

J'ai eu 1 heure pour tester ma "passerelle".

J'ai un téléphone SIP (101) enregistré sur XIVO 1.1.5
J'ai 1 SDA numéris qui est renvoyé sur ce téléphone.

Problème: -A-
Lorsque j'appelle avec le téléphone SIP l'extérieur (vers numéris): tout semble fonctionner
MAIS les appels extérieurs sur le SDA qui est renvoyé sur le SIP pose probleme:
ci dessous le CLI:

[Oct 7 18:47:49] -- Executing [s@macro-user:43] Dial("mISDN/3-u15", "SIP/101|30|") in new stack
[Oct 7 18:47:49] WARNING[3364]: app_dial.c:1308 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
[Oct 7 18:47:49] == Everyone is busy/congested at this time (1:0/0/1)
[Oct 7 18:47:49] -- Executing [s@macro-user:44] Goto("mISDN/3-u15", "CHANUNAVAIL|1") in new stack


Problème: -B-
Les appels venant de numéris routés vers le pabx n'arrivent pas: la seule trace CLI est:
[Oct 7 18:47:31] -- Executing [dial@macro-outcall:4] Dial("mISDN/3-u13", "misdn/g:NTportsPABX/0471482516||") in new stack
[Oct 7 18:47:31] -- Called g:NTportsPABX/0471482516
[Oct 7 18:47:35] == Everyone is busy/congested at this time (1:0/0/1)

Problème -C-
Appels à partir du pabx sortent vers numéris et aboutissent, mais un des 2 correspondants n'entend pas l'autre (je ne sais plus lequel). Peut être un problème de codec ?


Mes config:

mISDN.conf
<mISDNconf>
<module poll="128" debug="0" timer="no">hfcmulti</module>
<module debug="0" options="0">mISDN_dsp</module>
<devnode user="root" group="dialout" mode="0660">mISDN</devnode>
<card type="BN4S0">
<port mode="te" link="ptmp">1</port>
<port mode="te" link="ptmp">2</port>
<port mode="nt" link="ptmp">3</port>
<port mode="nt" link="ptmp">4</port>
</card>
</mISDNconf>




/etc/asterisk.misdn.conf

[general]
misdn_init=/etc/mISDN.conf
tracefile=/var/log/asterisk/misdn.log
debug=0
append_digits2exten=yes
bridging=yes

[default]
language=fr
nationalprefix=0
internationalprefix=00
rxgain=0
txgain=0
dialplan=0
hdlc=no
pmp_l1_check=no
echocancel=yes
senddtmf=yes
;faxdetect=incoming
faxdetect_timeout=5

[TEportsNumeris]
context=from-numeris
ports=1-2
msns=*

[NTportsPABX]
context=from-pabx
ports=3-4
msns=*


Si quelqu'un a une idée sur d'éventuelles modifications à effectuer avant mon prochain test,

Merci
vincent

therebel23
11/10/2010, 15h45
Sur le problème A, il faudrait que tu actives le debug SIP car il n'y pas de message explicite dans le log que tu donnes :

sip set debug

quintana
11/10/2010, 15h56
Le second (B) aussi avec misdn debug.

napster
11/10/2010, 16h04
Pour le problème C,
J'avais eu un probleme identique, essaye de mettre bridging=no

Vincent
26/10/2010, 16h30
Le second (B) aussi avec misdn debug.

ça donne: (attention, c'est long)


Oct 25 18:28:23] -- Executing [dial@macro-outcall:4] Dial("mISDN/3-u56", "misdn/g:pabx/0471485472||") in new stack
P[ 0] --> Group Call group: pabx
P[ 1] Group [pabx] Port [1]
P[ 2] Group [pabx] Port [2]
P[ 3] Group [pabx] Port [3]
P[ 3] portup:1
P[ 3] channel with stid:0 not in use!
P[ 0] --> * NEW CHANNEL dad:0471485472 oad:(null)
P[ 3] * Queuing chan 0x8e93808
P[ 3] read_config: Getting Config
P[ 3] config_jb: Called
P[ 3] --> * CallGrp: PickupGrp:
P[ 3] --> TON: Unknown
P[ 3] --> LTON: Unknown
P[ 3] --> CTON: Unknown
P[ 3] * CALL: g:pabx/0471485472
P[ 3] --> * dad:0471485472 tech:mISDN/4-u57 ctx:from-pabx
P[ 3] --> * adding2newbc ext 0471485472
P[ 3] --> * adding2newbc callerid 0687866822
P[ 3] --> pres: -1 screen: -1
P[ 3] --> pres: 0
P[ 3] --> PRES: Allowed (0)
P[ 3] --> SCREEN: Unscreened (0)
P[ 3] --> IMPORT_PID: importing pid:30
P[ 3] NO OPTS GIVEN
P[ 3] Disabling EC on both Sides
P[ 3] I SEND:SETUP oad:0687866822 dad:0471485472 pid:31
P[ 3] --> bc_state:BCHAN_CLEANED
P[ 3] --> channel:0 mode:NT cause:16 ocause:16 rad: cad:
P[ 3] --> info_dad: onumplan:0 dnumplan:0 rnumplan:0 cpnnumplan:0
P[ 3] --> caps:Speech pi:0 keypad: sending_complete:0
P[ 3] --> screen:0 --> pres:0
P[ 3] --> addr:0 l3id:8005ff00 b_stid:0 layer_id:0
P[ 3] --> facility:Fac_None out_facility:Fac_None
P[ 3] --> urate:0 rate:16 mode:0 user1:0
P[ 3] --> bc:0x8e7137c h:0 sh:0
P[ 3] find_free_chan: req_chan:0
P[ 3] --> found chan: 1
P[ 3] set_chan_in_stack: 1
P[ 3] --> found channel: 1
P[ 3] --> new_l3id ff00
P[ 3] --> * SEND: State Dialing pid:31
[Oct 25 18:28:23] -- Called g:pabx/0471485472
P[ 3] --> lib: prim 30581 dinfo ff00
P[ 3] --> lib: Event_ind:SETUP CONFIRM [NT] : new L3ID is 8006ff00
P[ 3] I IND :CC_SETUP|CONFIRM: old l3id:ff00 new l3id:8006ff00
P[ 3] I IND :NEW_L3ID oad:0687866822 dad:0471485472 pid:31 state:CALLING
P[ 3] --> channel:1 mode:NT cause:16 ocause:16 rad: cad:
P[ 3] --> info_dad: onumplan:0 dnumplan:0 rnumplan:0 cpnnumplan:0
P[ 3] --> caps:Speech pi:0 keypad: sending_complete:0
P[ 3] --> screen:0 --> pres:0
P[ 3] --> addr:0 l3id:8006ff00 b_stid:0 layer_id:0
P[ 3] --> facility:Fac_None out_facility:Fac_None
P[ 3] --> urate:0 rate:16 mode:0 user1:0
P[ 3] --> bc:0x8e7137c h:0 sh:0
P[ 3] --> bc_state:BCHAN_CLEANED
P[ 2] Transmitting 109 samples of silence to misdn
P[ 2] Transmitting 128 samples of silence to misdn
P[ 2] Transmitting 128 samples of silence to misdn
P[ 2] MGMT: Short status dinfo 2000001
P[ 2] MGMT: SSTATUS: L2_ESTABLISH
P[ 2] Transmitting 128 samples of silence to misdn

244 fois la même ligne précédente

P[ 2] Transmitting 128 samples of silence to misdn
P[ 3] --> lib: prim 35a82 dinfo 8006ff00
P[ 3] $$$ CLEANUP CALLED pid:31
P[ 3] $$$ Already cleaned up bc with stid :0
P[ 3] empty_chan_in_stack: 1
P[ 3] I IND :RELEASE_COMPLETE oad: dad: pid:31 state:CALLING
P[ 3] --> channel:0 mode:NT cause:1 ocause:16 rad: cad:
P[ 3] --> info_dad: onumplan:0 dnumplan:0 rnumplan:0 cpnnumplan:0
P[ 3] --> caps:Speech pi:0 keypad: sending_complete:0
P[ 3] --> screen:0 --> pres:0
P[ 3] --> addr:0 l3id:8006ff00 b_stid:0 layer_id:0
P[ 3] --> facility:Fac_None out_facility:Fac_None
P[ 3] --> urate:0 rate:16 mode:0 user1:0
P[ 3] --> bc:0x8e7137c h:0 sh:0
P[ 3] --> bc_state:BCHAN_CLEANED
P[ 3] hangup_chan called
P[ 3] --> queue_hangup
P[ 3] release_chan: bc with pid:31 l3id: 8006ff00
P[ 3] * RELEASING CHANNEL pid:31 ctx:from-pabx dad:0471485472 oad:0471485472
P[ 3] --> Setting AST State to down
P[ 3] --> lib: prim 3f182 dinfo 8006ff00
P[ 3] *HOLDER: find 8006ff00
P[ 3] *HOLDER: find nothing
P[ 3] --> CC_RELEASE_CR: Faking Release_cr for 41000301 l3id:8006ff00
P[ 3] --> Didn't find BC so temporarily creating dummy BC (l3id:8006ff00) on this port.
P[ 3] --> Removing Process Id:0 on this port.
P[ 3] --> lib: RELEASE_CR Ind with l3id:8006ff00
P[ 3] *HOLDER: find 8006ff00
P[ 3] *HOLDER: find nothing
P[ 3] --> Didn't find BC so temporarily creating dummy BC (l3id:8006ff00) on this port.
P[ 3] --> lib: CLEANING UP l3id: 8006ff00
P[ 3] I IND :CLEAN_UP oad: dad: pid:0 state:none
P[ 3] $$$ CLEANUP CALLED pid:0
P[ 3] $$$ Already cleaned up bc with stid :0
[Oct 25 18:28:27] == Everyone is busy/congested at this time (1:0/0/1)
[Oct 25 18:28:27] -- Executing [dial@macro-outcall:5] Goto("mISDN/3-u56", "CHANUNAVAIL|1") in new stack
[Oct 25 18:28:27] -- Goto (macro-outcall,CHANUNAVAIL,1)
[Oct 25 18:28:27] -- Executing [CHANUNAVAIL@macro-outcall:1] Goto("mISDN/3-u56", "redial|1") in new stack
[Oct 25 18:28:27] -- Goto (macro-outcall,redial,1)
[Oct 25 18:28:27] -- Executing [redial@macro-outcall:1] Set("mISDN/3-u56", "TRUNKINDEX=1") in new stack
[Oct 25 18:28:27] -- Executing [redial@macro-outcall:2] GotoIf("mISDN/3-u56", "?dial|1") in new stack
[Oct 25 18:28:27] -- Executing [redial@macro-outcall:3] Playback("mISDN/3-u56", "congestion-call") in new stack
P[ 2] * ANSWER:
P[ 2] --> Connection is without BF encryption
P[ 2] --> None
P[ 2] --> empty cad using dad
P[ 2] I SEND:CONNECT oad:0687866822 dad:0471485472 pid:30
P[ 2] --> bc_state:BCHAN_ACTIVATED
P[ 2] --> channel:1 mode:TE cause:16 ocause:16 rad: cad:0471485472
P[ 2] --> info_dad: onumplan:2 dnumplan:2 rnumplan: cpnnumplan:0
P[ 2] --> caps:Speech pi:0 keypad: sending_complete:1
P[ 2] --> screen:0 --> pres:0
P[ 2] --> addr:50010202 l3id:40006 b_stid:10010200 layer_id:50010280
P[ 2] --> facility:Fac_None out_facility:Fac_None
P[ 2] --> urate:0 rate:16 mode:0 user1:0
P[ 2] --> bc:0x8e26304 h:0 sh:0
P[ 2] * IND : Indication [-1] on mISDN/3-u56
P[ 2] --> * IND : -1! (stop indication) pid:30
P[ 2] --> None
[Oct 25 18:28:27] WARNING[3656]: file.c:667 ast_openstream_full: File congestion-call does not exist in any format
[Oct 25 18:28:27] WARNING[3656]: file.c:994 ast_streamfile: Unable to open congestion-call (format 0x8 (alaw)): No such file or directory
[Oct 25 18:28:27] WARNING[3656]: app_playback.c:440 playback_exec: ast_streamfile failed on mISDN/3-u56 for congestion-call

vincent

Vincent
28/10/2010, 14h58
Bon! Voilà où j'en suis dans ma passerelle Xivo:



Problème: -A-
Lorsque j'appelle avec le téléphone SIP l'extérieur (vers numéris): tout semble fonctionner
MAIS les appels extérieurs sur le SDA qui est renvoyé sur le SIP pose probleme:


Ok! Résolu, j'avais un problème d'installation de Xivo et mysql. J'ai refais l'install Xivo sans Mysql et ça marche.




Problème: -B-
Les appels venant de numéris routés vers le pabx n'arrivent pas:


Le problème persiste:
l'erreur en CLI:

P[ 3] * CALL: g:pabx/0471485472
P[ 2] Transmitting 128 samples of silence to misdn
P[ 3] misdn_write: Returning because notxtone
P[ 2] Transmitting 128 samples of silence to misdn
P[ 3] misdn_write: Returning because notxtone
P[ 2] Transmitting 128 samples of silence to misdn
P[ 3] misdn_write: Returning because notxtone

Je ne sais pas ce que ça veut dire ? Les appels sont bien passés au PABX mais ... Rien.

Help !




Problème -C-
Appels à partir du pabx sortent vers numéris et aboutissent, mais un des 2 correspondants n'entend pas l'autre (je ne sais plus lequel). Peut être un problème de codec ?


Résolu en mettant bridging=no dans /etc/asterisk/misdn.conf
Merci Napster :love:

Bref il ne reste que mon problème B à résoudre .

Et ensuite je m'attaquerais à la présentation de l'appelant qui ne fonctionne pas. Chaque chose en son temps...

Merci
Vincent

Vincent
10/11/2010, 18h33
P[ 3] * CALL: g:pabx/0471485472
P[ 2] Transmitting 128 samples of silence to misdn
P[ 3] misdn_write: Returning because notxtone

Je ne comprends pas ces messages renvoyés par misdn ?

merci de votre aide

Vincent