PDA

Voir la version complète : Plan de numérotation.



mariop31
24/09/2012, 09h34
Bonjour.

Je suis formateur en réseaux et telecom dans un centre de rééducation professionnel, pour personnes handicapées.
Je fais de la formation sur routeurs cisco, commutateurs de niveau III, pabx de marque Alcatel (4200C, 4200E,oxo et oxe).
Je travaille personnellement sous linux depuis 6 ans sur debian.
Dans le cadre d'ouvrir à mes stagiaires d'autres horizons que les
PABX TDM, je vais proposer Asterisk pour initiation, sachant que je vais leur faire découvrir Linux avec une debian, ltsp pour commencer puis la distro.

Une carte Digium de type HB8, sur laquelle il y a un module B400M (isdn) et un module S400M.

J'ai téléchargé il y 2 semaines une version d'Asterisk now (Centos) avce FreePbx inside.
J'ai installé, puis j'ai commencé à configurer voilà où j'en suis:

Téléphone IP de marque aastra, téléphones analogique Alcatel Temporis sur Patton M-ATA-1 et un téléphone Analogique connecté directement sur l'interface S400M.

Les tph IP et l'analogique connecté sur l'ATA peuvent s'appeler entre eux, je leur ai donné un sda et je peux les appeler depuis l'exterieur.
çà c'est ce qui fonctionne.

Deux problèmes rencontrés actuellement:
1) Je n'arrive pas à déclencher depuis les postes de l'installation des appels externes.
2) Je n'arrive pas en interne à appeler mon poste qui est connecté directement sur le S400M (par contre lui il peut appeler un poste en interne)
Quelqu'un pourrait il me donner un coup de pouce???

_AK_
25/09/2012, 09h05
Bonjour,

pouvez vous nous mettre un petit schéma, vos fichiers de conf et ce que vous avez dans la CLI.

mariop31
25/09/2012, 15h24
Merci _AK_ de m'avoir répondu.

J'ai changé mon fusil d'épaule.
J'ai cassé centos et Freepbx.
J'ai installé une squeeze 6.0.5 (debian), et j'ai installé à la mano Asterisk. (Je me sens mieux avec debian)

Je me suis mis à faire la configuration en mode console.

Actuellement j'en suis:
1) Je peux appeler n'importe quel téléphone en interne, y compris l'Analogique connecté directement sur l'interface S400M.

Donc du mieux par rapport au premier post.

2) Je suis en train de galèrer pour les appels entrants et sortants.

Je rappelle que je travaille avec une carte RNIS, et apparemment je n'ai pas de bol tous les tutoriels et autres n'en parlent pas, où alors je n'arrive pas à les trouver. Si tu avais un petit moment pour m'aider à décoller, ce serais bien sympathique.

mariop31
25/09/2012, 17h16
J'avance un peu.

J'ai réglé les appels sortants.:)
Je n'arrive pas configurer les appels entrants.:pt1cable:
Quand j'appelle depuis l'extérieur j'ai une tone d'occupation.


Un peu d'aide serait la bienvenue.

tikismoke
25/09/2012, 21h08
Mets ton fichier extensions.conf ainsi que ceux de ta carte tdm (du genre chan_dahdi.conf.

Cela permettra de t'aider.

mariop31
26/09/2012, 09h26
Voilà les fichiers demandé épuré des lignes de commentaires:

Fichiers chan_dahdi.conf:


[trunkgroups]

[channels]
language=fr
context=appel-entrant
internationalprefix = 00
nationalprefix = 0
usecallerid=yes
callwaiting=yes
allow_call_waiting_calls=no
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
group=1
callgroup=1
pickupgroup=1

#include dahdi-channels.conf

mariop31
26/09/2012, 09h35
Obligé de le faire en deux fois.

Fichier extensions.conf:


[general]
static=yes
writeprotect=no
clearglobalvars=no

[globals]
CONSOLE=Console/dsp
##### mon trunk rnis #####
TRUNK=DAHDI/g0
##### mes postes#####
PO=SIP/9870
Mario=SIP/9873
Polo=SIP/9874
Analo1=SIP/9875
Analo2=dahdi/17
####################
TRUNKMSD=1

[dundi-e164-canonical]

[dundi-e164-customers]

[dundi-e164-via-pstn]

[dundi-e164-local]
include => dundi-e164-canonical
include => dundi-e164-customers
include => dundi-e164-via-pstn

[dundi-e164-switch]
switch => DUNDi/e164

[dundi-e164-lookup]
include => dundi-e164-local
include => dundi-e164-switch
[macro-dundi-e164]
exten => s,1,Goto(${ARG1},1)
include => dundi-e164-lookup

[iaxtel700]
exten => _91700XXXXXXX,1,Dial(IAX2/${GLOBAL(IAXINFO)}@iaxtel.com/${EXTEN:1}@iaxtel)

[iaxprovider]

[trunkint]
exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${FILTER(0-9,${EXTEN:${GLOBAL(TRUNKMSD)}})})

[trunkld]
exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
exten => _91NXXNXXXXXX,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[trunklocal]
exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[trunktollfree]
exten => _91800NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91888NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91877NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91866NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[international]
ignorepat => 9
include => longdistance
include => trunkint

[longdistance]
ignorepat => 9
include => local
include => trunkld

[local]
ignorepat => 9
include => default
include => trunklocal
include => iaxtel700
include => trunktollfree
include => iaxprovider
include => parkedcalls

[outbound-freenum]
exten => _X*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)

[outbound-freenum2]
exten => _X!,1,Verbose(2,Performing ISN lookup for ${EXTEN})
same => n,Set(SUFFIX=${CUT(EXTEN,*,2-)})
same => n,GotoIf($["${FILTER(0-9,${SUFFIX})}" != "${SUFFIX}"]?fn-CONGESTION,1)
same => n,Set(TIMEOUT(absolute)=10800)
same => n,Set(isnresult=${ENUMLOOKUP(${EXTEN},sip,,1,freen um.org)})
same => n,GotoIf($["${isnresult}" != ""]?from)
same => n,Set(DIALSTATUS=CONGESTION)
same => n,Goto(fn-CONGESTION,1)
same => n(from),Set(__SIPFROMUSER=${CALLERID(num)})
same => n,GotoIf($["${GLOBAL(FREENUMDOMAIN)}" = ""]?dial)
same => n,Set(__SIPFROMDOMAIN=${GLOBAL(FREENUMDOMAIN)})
same => n(dial),Dial(SIP/${isnresult},40)
same => n,Goto(fn-${DIALSTATUS},1)
exten => fn-BUSY,1,Busy()
exten => _f[n]-.,1,NoOp(ISN: ${DIALSTATUS})
same => n,Congestion()

[macro-trunkdial]
exten => s,1,Dial(${ARG1})
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup
exten => s-BUSY,1,Hangup
exten => _s-.,1,NoOp

[stdexten]
exten => _X.,50000(stdexten),NoOp(Start stdexten)
exten => _X.,n,Set(LOCAL(ext)=${EXTEN})
exten => _X.,n,Set(LOCAL(dev)=${ARG1})
exten => _X.,n,Set(LOCAL(cntx)=${ARG2})
exten => _X.,n,Set(LOCAL(mbx)=${ext}${IF($[!${ISNULL(${cntx})}]?@${cntx})})
exten => _X.,n,Dial(${dev},20)
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1)
exten => stdexten-NOANSWER,1,Voicemail(${mbx},u)
exten => stdexten-NOANSWER,n,Return()
exten => stdexten-BUSY,1,Voicemail(${mbx},b)
exten => stdexten-BUSY,n,Return()
exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1)
exten => a,1,VoicemailMain(${mbx})
exten => a,n,Return()

[stdPrivacyexten]
exten => _X.,60000(stdPrivacyexten),NoOp(Start stdPrivacyexten)
exten => _X.,n,Set(LOCAL(ext)=${ARG1})
exten => _X.,n,Set(LOCAL(dev)=${ARG2})
exten => _X.,n,Set(LOCAL(dontcntx)=${ARG3})
exten => _X.,n,Set(LOCAL(tortcntx)=${ARG4})
exten => _X.,n,Set(LOCAL(cntx)=${ARG5})
exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? "@${cntx}" :: ""])
exten => _X.,n,Dial(${dev},20,p)
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1)
exten => stdexten-NOANSWER,1,Voicemail(${mbx},u)
exten => stdexten-NOANSWER,n,NoOp(Finish stdPrivacyexten NOANSWER)
exten => stdexten-NOANSWER,n,Return()
exten => stdexten-BUSY,1,Voicemail(${mbx},b)
exten => stdexten-BUSY,n,NoOp(Finish stdPrivacyexten BUSY)
exten => stdexten-BUSY,n,Return()
exten => stdexten-DONTCALL,1,Goto(${dontcntx},s,1)
exten => stdexten-TORTURE,1,Goto(${tortcntx},s,1)
exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1)
exten => a,1,VoicemailMain(${mbx})
exten => a,n,Return

[macro-page];

exten => s,1,ChanIsAvail(${ARG1},s)
exten => s,n,GoToIf($[${AVAILSTATUS} = "1"]?autoanswer:fail)
exten => s,n(autoanswer),Set(_ALERT_INFO="RA")
exten => s,n,SIPAddHeader(Call-Info: Answer-After=0)
exten => s,n,NoOp()
exten => s,n,Dial(${ARG1})
exten => s,n(fail),Hangup


[demo]
include => stdexten
exten => s,1,Wait(1)
exten => s,n,Answer
exten => s,n,Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n(restart),BackGround(demo-congrats)
exten => s,n(instruct),BackGround(demo-instruct)
exten => s,n,WaitExten
exten => 2,1,BackGround(demo-moreinfo)
exten => 2,n,Goto(s,instruct)
exten => 3,1,Set(LANGUAGE()=fr)
exten => 3,n,Goto(s,restart)
exten => 1000,1,Goto(default,s,1)
exten => 1234,1,Playback(transfer,skip)
exten => 1234,n,Gosub(${EXTEN},stdexten(${GLOBAL(CONSOLE)}) )
exten => 1234,n,Goto(default,s,1)
exten => 1235,1,Voicemail(1234,u)
exten => 1236,1,Dial(Console/dsp)
exten => 1236,n,Voicemail(1234,b)
exten => #,1,Playback(demo-thanks)
exten => #,n,Hangup
exten => t,1,Goto(#,1)
exten => i,1,Playback(invalid)
exten => 500,1,Playback(demo-abouttotry)
exten => 500,n,Dial(IAX2/guest@pbx.digium.com/s@default)
exten => 500,n,Playback(demo-nogo)
exten => 500,n,Goto(s,6)
exten => 600,1,Playback(demo-echotest)
exten => 600,n,Echo
exten => 600,n,Playback(demo-echodone)
exten => 600,n,Goto(s,6)
exten => 76245,1,Macro(page,SIP/Grandstream1)
exten => _7XXX,1,Macro(page,SIP/${EXTEN})
exten => 7999,1,Set(TIMEOUT(absolute)=60)
exten => 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n,d)
exten => 8500,1,VoicemailMain
exten => 8500,n,Goto(s,6)

[page]
exten => _X.,1,Macro(page,SIP/${EXTEN})


[default]
include => demo

[time]
exten => _X.,30000(time),NoOp(Time: ${EXTEN} ${timezone})
exten => _X.,n,Wait(0.25)
exten => _X.,n,Answer()
exten => _X.,n,Set(FUTURETIME=$[${EPOCH} + 12])
exten => _X.,n,SayUnixTime(${FUTURETIME},Zulu,HNS)
exten => _X.,n,SayPhonetic(z)
exten => _X.,n,SayUnixTime(${FUTURETIME},${timezone},HNS)
exten => _X.,n,Playback(spy-local)
exten => _X.,n,WaitUntil(${FUTURETIME})
exten => _X.,n,Playback(beep)
exten => _X.,n,Return()


[ani]
exten => _X.,40000(ani),NoOp(ANI: ${EXTEN})
exten => _X.,n,Wait(0.25)
exten => _X.,n,Answer()
exten => _X.,n,Playback(vm-from)
exten => _X.,n,SayDigits(${CALLERID(ani)})
exten => _X.,n,Wait(1.25)
exten => _X.,n,SayDigits(${CALLERID(ani)})
exten => _X.,n,Return()

################ a MOI MARIO ###########
[macro-Appel]
exten => s, 1, Answer()
exten => s, 2, Dial(${ARG1},10,r)
exten => s, 3, Hangup()

[appel-interne]
include => appel-externe
exten => 9870, 1, Answer()
exten => 9870, 2, Dial(${PO})
exten => 9870, 3, Hangup()

exten => 9873, 1, Answer()
exten => 9873, 2, Dial(${Mario})
exten => 9873, 3, Hangup()

exten => 9874, 1, Answer()
exten => 9874, 2, Dial(${Polo})
exten => 9874, 3, Hangup()

exten => 9875, 1, Answer()
exten => 9875, 2, Dial(${Analo1})
exten => 9875, 3, Hangup()

exten => 9876, 1, Answer()
exten => 9876, 2, Dial(${Analo2})
exten => 9876, 3, Hangup()

[appel-externe]
exten => _00xxxxxxxxx, 1, Dial(${TRUNK}/${EXTEN:1})
exten => _00xxxxxxxxx, 2, congestion()

[appel-entrant]
exten => s, 1, Answer()
exten => s, 2, Playback(Hello-world)
exten => s, 3, Hangup()

exten => 534619870, 1, Answer()
exten => 534619870, 2, Dial(${PO},15,r)
exten => 534619870, 3, Hangup()

mariop31
27/09/2012, 15h29
J'ai enfin réussi à faire ce que je voulais avec la debian et asterisk en mode console.
Pour l'instant le pb, je n'arrive pas à faire la présentation du numéro sur les appels sortant.


J'ai remonté le disque qui contient la CentOs.

J'ai réglé les pbs des téléphones analogique connecté sur la carte S400M. (Tout seul comme un grand)

Il me reste toujours à régler:

Quand j'appelle depuis les postes internes, je n'ai que 5 derniers chiffres qui se présente.

Je travaille avec FreePbx.
Quelqu'un pourrait il me donner un coup de pouce???

Reaper
27/09/2012, 22h52
Bonjour, est ce que vous pouvez activer le debug, et verbose, tracer un appel et nous montrer les logs ? Est cce que vous pouvez changer le caller ID juste avant d'effectuer un appel ?

Il faut utiliser les fonctions:
Set() Callerid(all)

Pour voir comment il faut les utiliser, il faut taper dans la console d'asterisk "core show application NAME" ou core show function NAME pour avoir la liste c'est avec le 's' core show applications

Je pense que vous êtes passé vers freepbx trop tôt. Il faut finir la config complète a la main avant de passer sur freepbx.

mariop31
01/10/2012, 14h45
Bonjour, est ce que vous pouvez activer le debug, et verbose, tracer un appel et nous montrer les logs ?

Oui je peux mais comment je fais. Un debug sur quoi????


Est cce que vous pouvez changer le caller ID juste avant d'effectuer un appel ?

Ok, pense que tu veux dire le CallerId qui est dans le fichier "sip_additionnal.conf ???