PDA

Voir la version complète : [RESOLU] Plusieurs Numéro avec le même fournisseur SIP



motarion
25/06/2015, 18h11
Bonjour à tous !

J'ai un petit soucis. Nous avons un serveur Asterisk pour gérer les appels, jusque là rien d'anormal. Sauf que maintenant nous devons gérer une ligne spécialisée pour un autre pays. Et donc il faut un standard dans cette langue !

Mon soucis c'est que je pensais que le contexte permettait de renvoyer l'appel dans le bon contexte mais il n'en est rien et les appels sur le numéro espagnol tombe sur le standard français. Alors qu'il devrait tombé sur un numéro spécifique pour mon test.

Je suis un peu dépassé ... Je ne sais pas si je dois continuer a creuser les contexte ou si je dois faire un standard global qui renvoi vers les bonnes extensions en fonction du numéro qui est appelé (Si c'est possible mais je pense que oui.). Dans la configuration SIP, je demande à ce que les appels aillent dans le contexte [standardes] mais cela ne fonctionne pas, un truc m'échappe ... À tous les coups cela doit être évident ...

Pourriez vous m'aider ? Me dire où j'ai faux ou ce que je dois creuser pour corriger le soucis ?

Merci par avance et pour votre temps !

Debian Jessie/sid avec Asterisk 11.7.0

Voici les fichiers de configurations:

Sip.conf, j'ai réduis le fichiers aux infos nécessaires. S'il en faut plus pas de soucis.


; General Configuration:
[general]
language = fr
defaultexpirey = 1800
;dtmfmode = rfc2833
dtmfmode = auto
canreinvite=no
srvlookup=yes
allowguest=no
alwaysauthreject=yes
nat=force_rport,comedia
qualify = yes
context = others
port = 5060
bindaddr = 0.0.0.0
srvlookup=yes
limitonpeer = yes
disallow=all
allow=alaw
allow=ulaw

externip=80.12.90.15
localnet=172.16.1.0/255.255.255.0

; Registration:
registertimeout=30
registerattempts=0

;### Register FR Account OVH Production
register => 003397XXXXXXX:XXXXX@sip.ovh.fr

;### Register ES Account OVH Production
register => 003451XXXXXXX:XXXXX@sip.ovh.es

--- SNIP ---

; Incoming:
[ovh-in]
type = peer
context = standard
host = sip.ovh.fr
call-limit=10
outboundproxy=91.121.129.20
outboundproxyport=5962
;dtmfmode=rfc2833
dtmfmode=auto

; Outgoing:
[ovh-out]
type=peer
host = sip.ovh.fr
context=outgoing
insecure=invite,port
username=003397XXXXXX
defaultuser=003397XXXXXXX
secret=XXXXX
fromuser=003397XXXXXXX
callerid=097XXXXXXX
canreinvite=no
;dtmfmode=rfc2833
dtmfmode=auto
video=no
restrictcid=no
amaflags=default
call-limit=10

; Incoming:
[ovh-es-in-1]
type = peer
context = standardes
host = sip.ovh.es
call-limit=10
outboundproxy=91.121.129.20
outboundproxyport=5962
;dtmfmode=rfc2833
dtmfmode=auto

; Outgoing:
[ovh-es-out-1]
type=peer
host = sip.ovh.fr
context=outgoing-es
insecure=invite,port
;username=003451XXXXXXX
defaultuser=003451XXXXXXX
secret=XXXXX
fromuser=003451XXXXXXX
callerid=912XXXXXX
canreinvite=no
;dtmfmode=rfc2833
dtmfmode=auto
video=no
restrictcid=no
amaflags=default
call-limit=10


Extensions.conf

[general]
language = fr
autofallthrough=yes
limitonpeer=yes

;#########

[outgoing]
;exten => _0.,1,Dial(SIP/${EXTEN:1}@ovh-out,,r)
exten => _0.,1,Dial(SIP/ovh-out/${EXTEN:1},,Ttr)
exten => _1.,1,Dial(SIP/ovh-out-2/${EXTEN:1},,r)
;exten => _6.,1,Monitor(wav,,m)
;exten => _6.,2,Dial(SIP/ovh-out/${EXTEN:1},,r)
;exten => _1.,1,Dial(SIP/${EXTEN:1}@ovh-out-2,,r)

; Internal Calls/Transfert Capability
exten => _XX,1,Dial(SIP/${EXTEN},20,tTr)
exten => _XX,2,VoiceMail(${EXTEN},u)

;#########

[standard]
exten => s,1,Answer
exten => s,2,Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})})
exten => s,3,Background(01_XXX_Tech_Bonjour)
exten => s,4,Background(02_XXX_Service_Commercial)
exten => s,5,Background(03_XXX_Menu_1)
exten => s,6,Wait(0.5)
exten => s,7,Background(04_XXX_Service_Account_Management)
exten => s,8,Background(05_XXX_Menu_2)
exten => s,9,Wait(0.5)
exten => s,10,Background(06_XXX_Service_Marketing)
exten => s,11,Background(07_XXX_Menu_3)
exten => s,12,Wait(0.5)
exten => s,13,Background(08_XXX_Service_Facturation)
exten => s,14,Background(09_XXX_Menu_4)
exten => s,15,WaitExten(5)
exten => s,16,Background(10_XXX_Redirection)
exten => s,17,Queue(support,nTtr,,,)

; Sales Queue
exten => 1,1,Queue(sales,nTtr,,,)
exten => 1,2,Queue(internal,nTtr,,,)
exten => 1,3,VoiceMail(${EXTEN},u)
exten => 1,4,Hangup

; Support Queue
exten => 2,1,Queue(support,nTtr,,,)
exten => 2,2,Queue(internal,nTtr,,,)
exten => 2,3,VoiceMail(${EXTEN},u)
exten => 2,4,Hangup

; Marketing service
exten => 3,1,Queue(marketing,nTtr,,,)
exten => 3,2,VoiceMail(${EXTEN},u)
exten => 3,3,Hangup


; Billing service
exten => 4,1,Dial(SIP/15,15,nTtr,,,)
exten => 4,2,VoiceMail(15,u)
exten => 4,3,Hangup

; Voicemail Access (By Internal Phone Only)
exten => 9,1,VoicemailMain()
exten => 9,2,Hangup

; Voicemail Access (By Internal Phone Only)
;exten => 9,1,VoicemailMain(s${CALLERID(num)})

; Security
exten => #,1,Playback(privacy-thankyou)
exten => #,2,Hangup

exten => t,1,Goto(#,1)
exten => i,1,Playback(invalid)
exten => i,2,Goto(s,2)

;#########

[standardes]
exten => s,1,Answer
exten => s,2,Queue(support-es,nTtr,,,)
exten => s,3,Hangup

;#########

[users]
include => outgoing

;#########

[default]
include => users

motarion
30/06/2015, 14h00
Je ne sais pas si mon sujet a été compris mais je vais donner la soluce. On ne sait jamais ça peut aider.

Donc pour faire simple Asterisk a du mal quand il y a plusieurs comptes SIP du même fournisseur, entendre par la avec la même IP. Il se prend les pieds dans le tapis et les appels passe par le premier compte SIP qu'il a en Incoming dans sip.conf. Donc mes appels depuis le numéro espagnol passait par le compte français dans l'incoming et donc n'allait JAMAIS dans le contexte "standardes" qui sert de contexte basique pour les appels vers le numéro espagnol.

Source de l'aide trouvée sur le Net: http://stackoverflow.com/questions/12617657/how-to-route-an-incoming-call-when-i-have-multiple-phone-numbers-with-the-same-s

jean
30/06/2015, 15h07
il faut analyser le no de la ligne appelé, normalement dans ${EXTEN}, mais avec OVH, il faut regarder via: ${CUT(CUT(SIP_HEADER(To),@,1),:,2) }