PDA

Voir la version complète : Trunk SIP entre Asterisk



kloklo
07/10/2011, 09h31
Bonjour,

j'essaye de faire un trunk SIP entre 2 Asterisk.
Mon architecture est la suivante :
http://www.imagup.com/data/1132638484.html

Ma configuration est la suivante :
sur le PC 172.16.12.1
le fichier sip.conf est le suivant :


[general]
context=users
bindport=5060
bindaddr=0.0.0.0
disallow=all
;allow=g726
allow=ulaw
allow=alaw
allow=gsm
language=fr
qualify=yes
; RTP OPTIONS
canreinvite=yes
directrtpsetup=yes
; REALTIME OPTIONS
rtcachefriends=yes
displaysystemname=yes
rtsavesysname=yes
rtautoclear=1;yes
rtupdate=yes
ignoreregexpire=yes
; Regcontext pour DUNDI
regcontext=localphones

register => trunkExterne:YYYYY@172.16.12.2/trunkExterne

[trunkInterne]
type=friend
defaultuser=trunkInterne
host=dynamic
fromdomain=172.16.12.2
insecure=port,invite
secret=XXXXX
disallow=all
allow=ulaw
qualify=yes


le fichier extensions.conf est le suivant: (du moins la partie concernée)


[general]
autofallthrough=yes

[users]
include => inside

[inside]
exten => _XXXXX,n,Macro(std-tbd,${EXTEN})

[macro-std-tbd]
exten => s,1,Dial(SIP/trunkInterne/${ARG1})
exten => s,n,Hangup


sur le PC 172.16.12.2
le fichier sip.conf est le suivant :

[general]
autofallthrough=yes

[users]
exten => 400,1,Playback(goodbye);
exten => 400,n,Hangup();
exten => _X.,1,Dial(SIP/trunkExtern/${EXTEN})
exten => _X.,n,Hangup();

Le fichier extensions.conf est le suivant :

[general]
context=users
bindport=5060
bindaddr=0.0.0.0
disallow=all
;allow=g726
allow=ulaw
allow=alaw
allow=gsm
language=fr
qualify=yes
; RTP OPTIONS
canreinvite=yes
directrtpsetup=yes
; REALTIME OPTIONS
rtcachefriends=yes
displaysystemname=yes
rtsavesysname=yes
rtautoclear=1;yes
rtupdate=yes
ignoreregexpire=yes
; Regcontext pour DUNDI
regcontext=localphones

register => trunkInterne:XXXXX@172.16.12.1/trunkInterne

[trunkExtern]
type=friend
secret=YYYYY
fromuser=trunkExtern
defaultuser=trunkExtern
fromdomain=172.16.12.1
host=dynamic
context=users
disallow=all
allow=ulaw
qualify=yes

[20000]
type=friend
defaultuser=20000
secret=20000
host=dynamic
context=users
disallow=all
allow=all
qualify=yes
canreinvite=no
directrtpsetup=no

[20001]
type=friend
defaultuser=20001
secret=20001
host=dynamic
context=users
disallow=all
allow=all
qualify=yes
canreinvite=no
directrtpsetup=no

Mon problème est le suivant :
lorsque je passe un appel du téléphone 20001 (enregistrer sur le 172.16.12.2) via le trunk SIP, sur l'asterisk 172.16.12.1 on voit que l'appel vient du 20000 et non pas du trunk.
Lorsque je fait un appel provenant de l'asterisk 172.16.12.1 vers l'asterisk 172.16.12.2 avec un téléphone enregistrer en 10000 l'appel est rejeté directement sur le trunk SIP. Du coté de l'asterisk 172.16.12.1 , j'ai le message d'erreur :

[Oct 7 09:26:06] WARNING[22780]: chan_sip.c:18463 handle_response_invite: Received response: "Forbidden" from '"Arthur" <sip:10000@172.16.12.2>;tag=as766868f0'

et du coté de l'asterisk 172.16.12.2 j'ai le message d'erreur :

[Oct 7 09:21:01] WARNING[5773]: chan_sip.c:13288 check_auth: username mismatch, have <trunkExtern>, digest has <s>
[Oct 7 09:21:01] NOTICE[5773]: chan_sip.c:20704 handle_request_invite: Failed to authenticate device "Arthur" <sip:10000@172.16.12.2>;tag=as766868f0



Avez vous une idée du problème?

Merci beaucoup d'avance

salaheddine
14/10/2011, 18h38
Bonjour,

un exemple qui fonctionne nikel pour moi

sur le pc 1

sip.conf

[general]
context=agents
allowguest=yes
allowoverlap=no
allowtransfer=yes
allow=alaw
allow=ulaw
allow=gsm
allow=ilbc



[1000]
type=friend
host=dynamic
context=agents
allow=alaw
allow=ulaw
allow=gsm
allow=ilbc


[asterisk2]
type=friend
host="adresse ip de deuxieme pc" il faut changer cette ligne avec l'adresse ip de 2 eme pc
context=agents
insecure=invite
allow=all

extensions.conf

[agents]

exten => 1000,1,Dial(SIP/1000)
exten => 1000,n,Hangup()

exten => _2XXX,1,Dial(SIP/${EXTEN}@asterisk2)
exten => _2XXX,n,Hangup()
================================================== ==========
sur le pc 2

sip.conf

[asterisk1]
type=friend
host="adresse ip 1er pc" il faut changer cette ligne avec l'adresse ip de 1eme pc
context=agents
insecure=invite
allow=all


[2000]
type=friend
context=agents
host=dynamic
dtmfmode=auto
disallow=all
allow=alaw
allow=ulaw
qualify=yes

extensions.conf

[agents]

exten => 2000,1,Dial(SIP/2000)
exten => 2000,n,Hangup()

exten => _1XXX,1,Dial(SIP/${EXTEN}@asterisk1)
exten => _1XXX,n,Hangup()

tiens moi au courant
Bon courage

kloklo
26/10/2011, 10h17
Merci de l'info. J'ai appliquer ta méthode finalement car avec les register je n'y suis pas arriver.

Merci beaucoup.