PDA

Voir la version complète : Passerelle SIP / RTC



ghostrider95
28/03/2011, 17h54
Bonjour à tous!
En cherchant un peu sur la toile, je suis confronter à un problème...
Je vous explique:


Sur mon PC1, j'ai mon asterisk qui fait office de PABX ( réseau RTC avec un signal FXO/FXS) et un IPBX ( signal SIP).
Sur mon PC2 est installé mon softphone.

Les Téléphones analogiques communiquent bien avec les softphones.
:)
Mais...
Imaginons que mon PC1 fait office de PABX et mon PC2 fait office de IPBX...
Il faut avoir une passerelle pour pouvoir communiquer? :frown:
Oui, Non?
Merci

celya
28/03/2011, 18h13
Un trunck IAX ou SIP suffira.

ghostrider95
28/03/2011, 18h14
Mon PC2 peut-être en virtuel ou non?

celya
28/03/2011, 18h22
Oui,

les réponses sont de plus en plus courtes :pt1cable:

ghostrider95
28/03/2011, 18h28
Oui lol , mais ne parle pas trop vite lol.
Donc je récapitule:

Mon PC1 joue le role de PABX
Mon PC2 ( en virtuel sur un PC3 ou est en passant mon X-lite) jour le role de IPBX.

Pour faire communiquer les deux je trunk juste le SIP?
c'est ça que je comprend pas trop..

celya
28/03/2011, 18h35
Pause toi un peu, prend ton temps, lit un bon bouquin 'asterisk the future of telephonie' et après tu verra tous sera limpide.

ghostrider95
28/03/2011, 20h49
Re bonsoir,

j'ai installé un autre asterisk en virtuel , j'ai configuré un compte SIP et les appels ne fonctionnent pas vers mon autre asterisk comme prévue :)
Il faut donc maintenant que je trunk le SIP, mais des deux côtès?

celya
28/03/2011, 21h18
Tu a chercher un peu sur internet ? Tu a regardé le bouquin que je t'ai dis ? Tous est indiqué et expliqué dans le détail.

ghostrider95
28/03/2011, 21h42
Oui ne ti'inquiète pas j'ai cherché sur le net et aussi avec le livre d'oreilly ( je ne néglige pas ces étapes au contraire :)), d'aileur ça ma permit de passer la première vitesse..
je te fait une petite récap :)

Voici mon serveur 1 - téléphones analogiques

extension.conf



[internal]

exten => 500,1,Wait(2)
exten => 500,n,Answer()
exten => 500,n,dial(DAHDI/1,20,tr)
exten => 500,n,Voicemail(500@default)
exten => 500,n,Hangup()



exten => 501,1,Wait(2)
exten => 501,n,Answer()
exten => 501,n,dial(DAHDI/2,20,tr)
exten => 501,n,VoiceMail(501@default)
exten => 501,n,Hangup()





exten => 502,1,dial(DAHDI/3,20,tr)
exten => 502,n,echo()
exten => 502,n,Hangup()


exten => 1000,1,Answer()
exten => 1000,n,dial(IAX2/192.168.86.173/1000,30,r)
exten => 1000,n,Hangup()



iax.conf



[general]
requiredcalltoken=no
disallow=all
allow=ulaw

[internal]
type=friend
host=192.168.86.173 ; @IP du serveur IPBX
username=192.168.1.12
secret=asterisk
context=internal
qualify=yes
trunk=yes
requiredcalltoken=no


Voici mon serveur 2 ( en virtuel) - réseau IP SIP

extension.conf


[internal]

exten => 1000,1,Wait(2)
exten => 1000,n,Answer()
exten => 1000,n,dial(SIP/1000,20,tr)


sip.conf



[general]

dtmfmode=rfc2833
context=default
allowoverlap=no
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes



[1000]

username=1000
context=internal
callerid="1000" <1000>
type=friend
host=dynamic
dtmfmode=rfc2833
secret=1000
mailbox=1000@default


iax.conf


[general]
requiredcalltoken=no
disallow=all
allow=ulaw

[internal]
type=friend
host=192.168.1.12 ; @IP du serveur PABX
username=192.168.86.173
secret=asterisk
context=internal
qualify=yes
trunk=yes
requiredcalltoken=no



lorsque je compose le 1000 ( extension SIP)depuis mon réseau RTC voici l'extrait de ma CLI:



[root@new-host-2 ~]# asterisk -vvvvvvvvvvvvvvvvvvr
Verbosity was 3 and is now 18
-- Starting simple switch on 'DAHDI/2-1'
-- Executing [1000@internal:1] Answer("DAHDI/2-1", "") in new stack
-- Executing [1000@internal:2] Dial("DAHDI/2-1", "IAX2/192.168.86.173/1000,30,r") in new stack
[Mar 28 22:55:18] WARNING[2924]: channel.c:5414 ast_request: No channel type registered for 'IAX2'
[Mar 28 22:55:18] WARNING[2924]: app_dial.c:2039 dial_exec_full: Unable to create channel of type 'IAX2' (cause 66 - Channel not implemented)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [1000@internal:3] Hangup("DAHDI/2-1", "") in new stack
== Spawn extension (internal, 1000, 3) exited non-zero on 'DAHDI/2-1'
-- Hanging up on 'DAHDI/2-1'
-- Hungup 'DAHDI/2-1'

celya
28/03/2011, 22h46
Vérifie la syntax de ton dial IAX2 et notament quand tu n'utilise pas de compte mais directement l'IP destination.

ghostrider95
29/03/2011, 08h56
Vérifie la syntax de ton dial IAX2 et notament quand tu n'utilise pas de compte mais directement l'IP destination.


Bonjour,

lorsque tu dit de ne pas utiliser le compte mais directement l'IP de destination c'est d'enlever le "IAX2" dans extension.conf?

Autre chose, lorsque je lançe la console dans le serveur 1 ( aussi dans le serveur 2) et que je lance la commande


core show channeltypes


je n'ai pas de IAX2
pourtant j'ai bien le module IAX2 d'installé

Merci

celya
29/03/2011, 10h16
lorsque tu dit de ne pas utiliser le compte mais directement l'IP de destination c'est d'enlever le "IAX2" dans extension.conf?


Je ne dis pas d'utilise l'IP, c'est toi qui le fait dans ton dial. Je te dis de vérifier la syntax.

Pour 'core show channeltypes', essai iax2 reload et regarde si il y a des erreurs.

ghostrider95
29/03/2011, 18h25
Je n'ai pas accès au iax2 reload..
Pourtant le module iax2 est bien présent dans le "make menuselect" d'asterisk

ghostrider95
29/03/2011, 18h39
Voici un extrait de ma CLI, mon module IAX2 n'est pas reconnue :frown:



new-host-2*CLI> module load chan_iax2.so
Unable to load module chan_iax2.so
Command 'module load chan_iax2.so ' failed.
[Mar 29 19:52:02] WARNING[3110]: loader.c:387 load_dynamic_module: Error loading module 'res_crypto': /usr/lib/asterisk/modules/res_crypto.so: cannot open shared object file: No such file or directory
[Mar 29 19:52:02] WARNING[3110]: loader.c:449 load_dynamic_module: Error loading module 'chan_iax2.so': /usr/lib/asterisk/modules/chan_iax2.so: undefined symbol: ast_aes_set_decrypt_key
[Mar 29 19:52:02] WARNING[3110]: loader.c:839 load_resource: Module 'chan_iax2.so' could not be loaded.

ghostrider95
29/03/2011, 20h36
C'est stressant en plus :confused:

ghostrider95
29/03/2011, 20h56
A moins que le IAX2 apparaît dans le
core show channeltypes après que mon iax.conf et sip.conf soit correctement configuré?

Je test, j'éspère que vous pouvait m'aider
Merci beaucoup d'avançe

ghostrider95
29/03/2011, 21h00
Je vous rappelle seulement que je veut que ce soir mes softphones de mon serveur 1comuniquent avec mes téléphones analalogiques

celya
29/03/2011, 21h50
que donne la commande ls /usr/lib/asterisk/modules/*iax*

met plus de verbose et de debug et refait la commande module load chan_iax2.so

ghostrider95
29/03/2011, 22h41
que donne la commande ls /usr/lib/asterisk/modules/*iax*

met plus de verbose et de debug et refait la commande module load chan_iax2.so

Voici ce que retourne cette commande :
/usr/lib/asterisk/modules/chan_iax2.so

Je te récapitule Mes fichiers de configurations car je m'embrouille un peu et j'aimerais avoir de l'aide, pour l'instant je pense que passer des appels SIP d'un serveur à l'autre serait déjà bien, l'étape d'après serait de passer des appels SIP vers le réseau RTC:

Serveur 1
extension.conf



[FROM_VOIP1]
include => VOIP2


[VOIP2]

exten => 1000,1,Dial(${EXTEN}) ; notre context local
exten => 2000,1,Dial(IAX2/VOIP1/${EXTEN})


iax.conf


[general]
bindport = 4569
bindaddr = 0.0.0.0
disallow=all
allow=ulaw
allow=alaw
allow=gsm
mailboxdetail=yes
requiredcalltoken=no


[VOIP1]

type=friend
host=192.168.1.12 ; @IP du serveur PABX
username=192.168.86.173
secret=asterisk
context=FROM_VOIP1
qualify=yes
trunk=yes
requiredcalltoken=no


sip.conf



[general]

dtmfmode=rfc2833
context=default
allowoverlap=no
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes



[1000]

username=1000
context=internal
callerid="1000" <1000>
type=friend
host=dynamic
dtmfmode=rfc2833
secret=1000
mailbox=1000@default


---------------------------------------------------------------
Serveur 2

extension.conf


[internal]

exten => 500,1,Wait(2)
exten => 500,n,Answer()
exten => 500,n,dial(DAHDI/1,20,tr)
exten => 500,n,Voicemail(500@default)
exten => 500,n,Hangup()



exten => 501,1,Wait(2)
exten => 501,n,Answer()
exten => 501,n,dial(DAHDI/2,20,tr)
exten => 501,n,VoiceMail(501@default)
exten => 501,n,Hangup()





exten => 502,1,dial(DAHDI/3,20,tr)
exten => 502,n,echo()
exten => 502,n,Hangup()

[FROM_VOIP2]
include => VOIP1


[VOIP1]
exten => 2000,1,Dial(${EXTEN}) ; notre context local
exten => 1000,1,Dial(IAX2/VOIP2/${EXTEN})


iax.conf


[general]
bindport = 4569
bindaddr = 0.0.0.0
disallow=all
allow=ulaw
allow=alaw
allow=gsm
mailboxdetail=yes
requiredcalltoken=no







[VOIP2]
type=friend
host=192.168.86.173 ; @IP du serveur IPBX
username=192.168.1.12
secret=asterisk
context=FROM_VOIP2
qualify=yes
trunk=yes
requiredcalltoken=no


sip.conf




[general]

dtmfmode=rfc2833
context=default
allowoverlap=no
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes



[2000]

username=2000
context=internal
callerid="2000" <2000>
type=friend
host=dynamic
dtmfmode=rfc2833
secret=2000
mailbox=2000@default

ffossard
30/03/2011, 07h43
Voici un extrait de ma CLI, mon module IAX2 n'est pas reconnue :frown:



new-host-2*CLI> module load chan_iax2.so
Unable to load module chan_iax2.so
Command 'module load chan_iax2.so ' failed.
[Mar 29 19:52:02] WARNING[3110]: loader.c:387 load_dynamic_module: Error loading module 'res_crypto': /usr/lib/asterisk/modules/res_crypto.so: cannot open shared object file: No such file or directory
[Mar 29 19:52:02] WARNING[3110]: loader.c:449 load_dynamic_module: Error loading module 'chan_iax2.so': /usr/lib/asterisk/modules/chan_iax2.so: undefined symbol: ast_aes_set_decrypt_key
[Mar 29 19:52:02] WARNING[3110]: loader.c:839 load_resource: Module 'chan_iax2.so' could not be loaded.


Est-ce que libssl-dev est installé ?
res_crypto est débloqué dans le make menuselect ?

Y'a un ticket de bug ouvert à ce sujet: https://issues.asterisk.org/bug_view_advanced_page.php?bug_id=19026

Pour info il suffisait de taper la fin de ton erreur dans un moteur de recherche pour trouver des tas de personnes avec le même problème que toi:
"res_crypto.so: cannot open shared object file: No such file or directory"
Prends l'habitude de chercher comme ça avant de demander, sinon tu passera ta vie sur le forum à demander pour chaque petite erreur, on finira par faire moins d'efforts :sweat:

ghostrider95
30/03/2011, 21h48
Bonsoir,

je n'avais pas installé openssl mais j'avais bien res_crypto dans mon make menuselect, par contre je n'avais aps recompilé asterisk correctement.

Merci, pour le IAX2 je travaille dessus, je revient vers vous si j'ai besoin d'aide

Merci encore

ghostrider95
30/03/2011, 22h55
Re-Bonsoir,

Jai un problème assez peu étrange...

Mon serveur 2 ( en virtuel) ping mon serveur 1 mais mon serveur 1 n'arrive pas à pinguer mon serveur 2 ( virtuel)...

Donc mon trunk ne marche que dans un sens ( de mon serveur 2 vers mon serveur 1)....

Je peut donc passer des appels de mon serveur 2 vers mon serveur 1 via mon trunk IAX2 mais pas l'inverse...

Vous avez une idée du pourquoi? j'ai pourtant désactivé mes pare-feu et mon iptables -L me renvoit la liste par défaut avec aucune régles de filtrage...

Merci beaucou^p

ghostrider95
31/03/2011, 21h12
Merci à tous, il fallait juste bridgé la carte VM!

Pk n'ai-je pas le "Résolu" pour les sujets?