Affichage des résultats 1 à 10 sur 11

Discussion: Plusieurs sip sur meme serveur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Junior
    Date d'inscription
    décembre 2017
    Messages
    6
    Downloads
    0
    Uploads
    0
    Tout simplement!

    En fait il suffit de déclarer le trunk, de renseigner les utilisateurs, de leur attribuer un context, de faire leur dialplan et ensuite de déclarer les routes.

    Je sais pas pourquoi je cherchais des config exotiques alors que la solution est assez logique au final.

    Merci

  2. #2
    Membre
    Date d'inscription
    mars 2013
    Localisation
    Reims
    Messages
    60
    Downloads
    0
    Uploads
    0
    Il y a surement moyen de de faire un truc ultra complex pour faire baver ceux qui liront ton dialplan à base de condition, créer 1 base de donnée et router l'appel en fonction du nom de la société etc...

    mais cette méthode fonctionne très bien, et par la suite est adaptable facilement.

    tu pourrais par exemple créer un context [default-commun]
    dans lequels tu inclurais les autres default A et B, pour avoir une standardiste commune au 2entreprises.

    ou

    vu que chaque dialplan a un context tu pourrais inclure des features (conférence, voicemail...) à certaine entreprise et pas à d'autre

    j'ai appris que plus c'est simple, mieux ça fonctionne

  3. #3
    Membre Junior
    Date d'inscription
    décembre 2017
    Messages
    6
    Downloads
    0
    Uploads
    0
    J'avais laissé cette tache de coté et m'y suis finalement mis hier (et cette nuit....) et je m'en sors pas!!

    j'ai un problème, je pense que ma configuration n'est pas bonne, mais je n'arrive pas a trouver ce qui ne va pas.

    Voici mes fichiers:

    sip.conf

    Code:
    [general]
    
    permit=192.168.1.0/24
    deny=0.0.0.0/0.0.0.0
    context=public                 
    allowguest=no                    
    allowoverlap=no
    udpbindaddr=192.168.1.0/24
    tcpenable=no                    
    tcpbindaddr=192.168.1.0/24
    transport=udp                   
    srvlookup=yes
    language=fr
    allowexternaldomains=no
    
    [societe1]
    
    register => 00xxxxxxxx:@xxxxxxxxxx@sip3.ovh.fr
    
    [societe2]
    
    register => 00xxxxxxxx:@xxxxxxxxxx@sip3.ovh.fr
    users.conf

    Code:
    [general]
    
    hasvoicemail = yes
    hassip = yes 
    hasiax = yes
    callwaiting = yes
    threewaycalling = yes
    callwaitingcallerid = yes
    nat = yes ;On force l’utilisation du port NAT
    
    
    ;TRUNKS
    
    [societe1]
    
    defaultexpiry = 3600 
    externeaddr=xx.xx.xx.xx 
    localnet=192.168.1.140/255.255.255.0 
    register => 00xxxxxxxxxx:xxxxxxxxxx@sip3.ovh.fr
    
    [societe2]
    
    defaultexpiry = 3600 
    externeaddr=xx.xx.xx.xx 
    localnet=192.168.1.140/255.255.255.0 
    register => 00xxxxxxxxxx:xxxxxxxxxx@sip3.ovh.fr 
    
    ;TEMPLATES
    
    [societe1](!)
    
    type=friend 
    host=dynamic 
    dtmfmode=rfc2833 
    disallow = all 
    allow = ulaw 
    context = Bureau_Interne_societe1 
    
    [societe2](!)
    
    ;type=friend
    ;host=dynamic
    ;dtfmode=rfc2833
    ;disallow = all
    ;allow = ulaw
    ;context = Bureau_Interne_societe2
    
    
    ;UTILISATEURS
    
    ;societe1
    
    [101](societe1)
    
    callerid = « xxxxxxxx » <101>
    secret = xxxxxxx
    mailbox = xxxxxxx@xxxxxxxx
    dtmfmode=rfc2833 
    
    ;societe2
    
    [101](societe2)
    
    callerid ="xxxxxxxx" <101>
    secret = xxxxxx
    mailbox = xxxxxxx@xxxxxxx
    dtmfmode=rfc2833
     
    [Vers_Bureau_Interne_societe1] 
    
    type=friend 
    host=sip3.ovh.fr 
    context=Bureau_Entrant_societe1 
    nat=yes
    qualify=yes 
    canreinvite=nonat
    directmedia=nonat
    insecure=invite
    dtmfmode=auto 
    
    [Bureau_Externe_societe1]
    
    type=peer 
    host=sip3.ovh.fr 
    fromdomain=sip3.ovh.fr 
    qualify=yes 
    nat=yes
    context=Bureau_Sortant_societe1 
    canreinvite=nonat
    directmedia=nonat
    username=00xxxxxxxxx 
    fromuser=00xxxxxxxxx 
    secret=xxxxxxxxxx 
    disallow=all
    allow=alaw 
    dtmfmode=auto833 
    
    [Vers_Bureau_Interne_societe2]
    type=friend 
    host=sip3.ovh.fr 
    context=Bureau_Entrant 
    nat=yes
    qualify=yes 
    canreinvite=nonat
    directmedia=nonat
    insecure=invite
    dtmfmode=auto 
    
    [Bureau_Externe_societe2]
    
    type=peer 
    host=sip3.ovh.fr 
    fromdomain=sip3.ovh.fr 
    qualify=yes 
    nat=yes
    context=Bureau_Sortant_societe2 
    canreinvite=nonat
    directmedia=nonat
    username=00xxxxxxxxx 
    fromuser=00xxxxxxxxx 
    secret=xxxxxxxxxx 
    disallow=all
    allow=alaw 
    dtmfmode=auto833
    extensions.conf

    Code:
    [general]
    
    static = yes
    writeprotect = no
    clearglobalvars = no
    
    [globals]
    
    CONSOLE = Console/dsp
    IAXINFO = guest
    TRUNK = DAHDI/G2
    TRUNKMSD = 1
    FEATURES =
    DIALOPTIONS =
    RINGTIME = 20
    FOLLOWMEOPTIONS =
    PAGING_HEADER = Intercom
    
    [Bureau_Interne_societe1]
    
    Exten => _1XX,1,Dial(SIP/${EXTEN},tT,20)
    Exten => _1XX,2,VoiceMail(${EXTEN}@Bureau_Interne_societe1)
    
    exten => 90, 1, VoiceMailMain(${CALLERID(num)}@Bureau_Interne_societe1)
    
    exten => 300,1,ConfBridge(Salle_1,Salle_1,Utilisateur_Standard)
    exten => 301,1,ConfBridge(Salle_2,Salle_2,Utilisateur_Standard)
    exten => 8001,1,Goto(IVR_FR_societe1,${EXTEN},1)
    
    exten => 9001,1,PauseQueueMember(,SIP/${CALLERID(num)})
    exten => 9001,2,agi(googletts.agi,"Vous pouvez maintenant partir en pause.",fr,any,1.3)  
    exten => 9001,3,Hangup()
    
    exten => 9002,1,UnPauseQueueMember(,SIP/${CALLERID(num)})
    exten => 9002,2,agi(googletts.agi,"Vous venez de reprendre le travail.",fr,any,1.3)
    exten => 9002,3,Hangup()
    
    exten => _0ZXXXXXXXX,1,Goto(Bureau_Sortant_societe1,${EXTEN},1)
    
    [IVR_FR_societe1]
    
    exten => 8001,1,Answer()
    
    exten => 8001,2,GotoIfTime(8:00-12:30,mon-fri?IVR_FR_societe1,8001,4:IVR_FR_societe1,8001,3)
    exten => 8001,3,GotoIfTime(14:00-19:00,mon-fri?IVR_FR_societe1,8001,4:IVR_FR_societe1,8001,16)
    
    exten => 8001,4,Set(TIMEOUT(response)=15)
    exten => 8001,5,agi(googletts.agi,"societe1, bonjour.",fr,any,1.2)
    exten => 8001,6,agi(googletts.agi,"Pour joindre le service commercial.",fr,any,1.3)
    exten => 8001,7,agi(googletts.agi,"Appuyez sur un.",fr,any,1.2)
    exten => 8001,8,agi(googletts.agi,"Pour joindre le service contrats.",fr,any,1.3)
    exten => 8001,9,agi(googletts.agi,"Appuyez sur deux.",fr,any,1.2)
    exten => 8001,10,agi(googletts.agi,"Pour toutes autres demandes.",fr,any,1.3)
    exten => 8001,11,agi(googletts.agi,"Appuyez sur trois.",fr,any,1.2)
    exten => 8001,12,agi(googletts.agi,"Appuyez sur dièse si vous souhaitez entendre ce message à nouveau.",fr,any,1.3)
    exten => 8001,13,Playback(beep)
    exten => 8001,14,WaitExten()
    
    exten => 8001,15,Goto(8001,4)
    
    exten => 8001,16,agi(googletts.agi,"societe1, bonjour.",fr,any,1.2)
    exten => 8001,17,agi(googletts.agi,"Nos bureaux sont ouverts de huit heures à douze heures trente",fr,any,1.3)
    exten => 8001,18,agi(googletts.agi,"Et de quatorze heures à dix neuf heures.",fr,any,1.3)
    exten => 8001,19,agi(googletts.agi,"Merci de votre compréhension.",fr,any,1.3)
    exten => 8001,20,Voicemail(101@Bureau_Interne_societe1)
    
    exten => 1,1,Goto(File_Attente_societe1,910,1)
    exten => 2,1,Goto(File_Attente_societe1,920,1)
    exten => 3,1,Goto(File_Attente_societe1,930,1)
    exten => _[4-9#],1,Goto(8001,3)
    exten => t,1,Goto(8001,3)
    
    [File_Attente_societe1]
    
    exten => 910,1,Answer()
    exten => 910,2,agi(googletts.agi,"Merci de bien vouloir patienter.",fr,any,1.3)    
    exten => 910,3,agi(googletts.agi,"Nous allons prendre votre appel",fr,any,1.3)
    exten => 910,4,Queue(Gestion,t)
    exten => 910,5,VoiceMail(101@Bureau_Interne_societe1)
    
    ;exten => 920,1,Answer()
    ;exten => 920,2,agi(googletts.agi,"Merci de bien vouloir patienter.",fr,any,1.3)
    ;exten => 920,3,agi(googletts.agi,"Nous allons prendre votre appel",fr,any,1.3)
    ;exten => 920,4,Queue(Technique,t)
    ;exten => 920,5,VoiceMail(102@Bureau_Interne_societe1)
    
    ;exten => 930,1,Answer()
    ;exten => 930,2,agi(googletts.agi,"Merci de bien vouloir patienter.",fr,any,1.3)
    ;exten => 930,3,agi(googletts.agi,"Nous allons prendre votre appel",fr,any,1.3)
    ;exten => 930,4,Queue(Autres_Infos,t)
    ;exten => 930,5,VoiceMail(102@Bureau_Interne_societe1)
    
    [Bureau_Sortant_societe1]
    
    exten => _0[1-5]XXXXXXXX,1,DIAL(SIP/Bureau_Externe_societe1/${EXTEN})
    exten => _09XXXXXXXX,2,DIAL(SIP/Bureau_Externe_societe1/${EXTEN})
    
    [Bureau_Entrant_societe1]
    
    exten => s,1,Goto(IVR_FR_societe1,8001,1)
    
    ;SOCIETE2
    
    [Bureau_Interne_societe2]
    
    Exten => _1XX,1,Dial(SIP/${EXTEN},tT,20)
    Exten => _1XX,2,VoiceMail(${EXTEN}@Bureau_Interne_societe2)
    
    exten => 90, 1, VoiceMailMain(${CALLERID(num)}@Bureau_Interne_societe2)
    
    exten => 8001,1,Goto(IVR_FR_societe2,${EXTEN},1)
    
    exten => 9001,1,PauseQueueMember(,SIP/${CALLERID(num)})
    exten => 9001,2,agi(googletts.agi,"Vous pouvez maintenant partir en pause.",fr,any,1.3)  
    exten => 9001,3,Hangup()
    
    exten => 9002,1,UnPauseQueueMember(,SIP/${CALLERID(num)})
    exten => 9002,2,agi(googletts.agi,"Vous venez de reprendre le travail.",fr,any,1.3)
    exten => 9002,3,Hangup()
    
    exten => _0ZXXXXXXXX,1,Goto(Bureau_Sortant_societe2,${EXTEN},1)
    
    [IVR_FR_societe2]
    
    exten => 8001,1,Answer()
    exten => 8001,2,GotoIfTime(8:00-12:30,mon-fri?IVR_FR_societe2,8001,4:IVR_FR_societe2,8001,3)
    exten => 8001,3,GotoIfTime(14:00-19:00,mon-fri?IVR_FR_societe2,8001,4:IVR_FR_societe2,8001,16)
    
    exten => 8001,4,Set(TIMEOUT(response)=15)
    exten => 8001,5,agi(googletts.agi,"societe2, bonjour.",fr,any,1.2)
    exten => 8001,6,agi(googletts.agi,"Pour joindre le service commercial.",fr,any,1.3)
    exten => 8001,7,agi(googletts.agi,"Appuyez sur un.",fr,any,1.2)
    exten => 8001,8,agi(googletts.agi,"Pour joindre le service contrats.",fr,any,1.3)
    exten => 8001,9,agi(googletts.agi,"Appuyez sur deux.",fr,any,1.2)
    exten => 8001,10,agi(googletts.agi,"Pour toutes autres demandes.",fr,any,1.3)
    exten => 8001,11,agi(googletts.agi,"Appuyez sur trois.",fr,any,1.2)
    exten => 8001,12,agi(googletts.agi,"Appuyez sur dièse si vous souhaitez entendre ce message à nouveau.",fr,any,1.3)
    exten => 8001,13,Playback(beep)
    exten => 8001,14,WaitExten()
    
    exten => 8001,15,Goto(8001,4)
    
    exten => 8001,16,agi(googletts.agi,"societe2, bonjour.",fr,any,1.2)
    exten => 8001,17,agi(googletts.agi,"Nos bureaux sont ouverts de huit heures à douze heures trente",fr,any,1.3)
    exten => 8001,18,agi(googletts.agi,"Et de quatorze heures à dix neuf heures.",fr,any,1.3)
    exten => 8001,19,agi(googletts.agi,"Merci de votre compréhension.",fr,any,1.3)
    exten => 8001,20,Voicemail(101@Bureau_Interne_societe2)
    
    exten => 1,1,Goto(File_Attente_societe2,910,1)
    exten => 2,1,Goto(File_Attente_societe2,910,1)
    exten => 3,1,Goto(File_Attente_societe2,910,1)
    exten => _[4-9#],1,Goto(8001,3)
    
    exten => t,1,Goto(8001,3)
    
    [File_Attente_societe2]
    
    exten => 910,1,Answer()
    exten => 910,2,agi(googletts.agi,"Merci de bien vouloir patienter.",fr,any,1.3)    
    exten => 910,3,agi(googletts.agi,"Nous allons prendre votre appel",fr,any,1.3)
    exten => 910,4,Queue(Gestion,t)
    exten => 910,5,VoiceMail(101@Bureau_Interne_societe2)
    
    [Bureau_Sortant_societe2]
    
    exten => _0[1-5]XXXXXXXX,1,DIAL(SIP/Bureau_Externe_societe2/${EXTEN})
    exten => _09XXXXXXXX,2,DIAL(SIP/Bureau_Externe_societe2/${EXTEN})
    
    [Bureau_Entrant_societe2]
    
    exten => s,1,Goto(IVR_FR_societe2,8001,1)
    merci de vos retours et suggestions.
    Dernière modification par Headstorm ; 27/04/2018 à 00h35.

  4. #4
    Membre Senior
    Date d'inscription
    janvier 2011
    Localisation
    Villejuif 94
    Messages
    337
    Downloads
    0
    Uploads
    0
    les "register" sont censés être dans la section [general] soit de sip.conf

  5. #5
    Membre Junior
    Date d'inscription
    décembre 2017
    Messages
    6
    Downloads
    0
    Uploads
    0
    Citation Envoyé par olppp Voir le message
    les "register" sont censés être dans la section [general] soit de sip.conf
    Bonjour et merci de la réponse,

    j'ai mis les trunks dans le sip.conf et je peux appeler en interne et en externe, par contre lorsque j'appelle le numéro de la societe 2 depuis l'exterieur, je tombe dans le contexte de la société 1.

    je ne comprends pas pourquoi.

    voici mes fichiers modifiés

    sip.conf

    Code:
    [general]
    
    permit=192.168.1.0/24
    deny=0.0.0.0/0.0.0.0
    context=societe1 societe2               
    allowguest=no                    
    allowoverlap=no
    udpbindaddr=192.168.1.0/24
    tcpenable=no                    
    tcpbindaddr=192.168.1.0/24
    transport=udp                   
    srvlookup=yes
    language=fr
    allowexternaldomains=no
    
    register => 00xxxxxxxxxx:xxxxxxxxxx@sip3.ovh.fr ;societe1
    register => 00xxxxxxxxxx:xxxxxxxxxx@sip3.ovh.fr ;societe2
    
    [societe1]
    
    defaultexpiry = 3600
    externeaddr=xx.xx.xx.xx
    localnet=192.168.1.140/255.255.255.0
    register => 00xxxxxxxxxx:xxxxxxxxxx@sip3.ovh.fr
    context = Bureau_Entrant_societe1
    
    [societe2]
    defaultexpiry = 3600 
    externeaddr=xx.xx.xx.xx ;Adresse ip public
    localnet=192.168.1.140/255.255.255.0 
    register => 00xxxxxxxxxx:xxxxxxxxxx@sip3.ovh.fr
    context = Bureau_Entrant_societe2
    et mon users.conf

    Code:
    [general]
    
    hasvoicemail = yes
    hassip = yes 
    hasiax = yes
    callwaiting = yes
    threewaycalling = yes
    callwaitingcallerid = yes
    nat = yes
    
    ;TEMPLATES
    
    [societe1](!)
    
    type=friend 
    host=dynamic 
    dtmfmode=rfc2833 
    disallow = all 
    allow = ulaw 
    context = Bureau_Interne_societe1 
    
    [societe2](!)
    
    ;type=friend
    ;host=dynamic
    ;dtfmode=rfc2833
    ;disallow = all
    ;allow = ulaw
    ;context = Bureau_Interne_societe2
    
    
    ;UTILISATEURS
    
    ;societe1
    
    [101](societe1)
    
    callerid = « xxxxxxxx » <101>
    secret = xxxxxxx
    mailbox = xxxxxxx@xxxxxxxx
    dtmfmode=rfc2833 
    
    ;societe2
    
    [101](societe2)
    
    callerid ="xxxxxxxx" <101>
    secret = xxxxxx
    mailbox = xxxxxxx@xxxxxxx
    dtmfmode=rfc2833
     
    [Vers_Bureau_Interne_societe1] 
    
    type=friend 
    host=sip3.ovh.fr 
    context=Bureau_Entrant_societe1 
    nat=yes
    qualify=yes 
    canreinvite=nonat
    directmedia=nonat
    insecure=invite
    dtmfmode=auto 
    
    [Bureau_Externe_societe1]
    
    type=peer 
    host=sip3.ovh.fr 
    fromdomain=sip3.ovh.fr 
    qualify=yes 
    nat=yes
    context=Bureau_Sortant_societe1 
    canreinvite=nonat
    directmedia=nonat
    username=00xxxxxxxxx 
    fromuser=00xxxxxxxxx 
    secret=xxxxxxxxxx 
    disallow=all
    allow=alaw 
    dtmfmode=auto833 
    
    [Vers_Bureau_Interne_societe2]
    type=friend 
    host=sip3.ovh.fr 
    context=Bureau_Entrant 
    nat=yes
    qualify=yes 
    canreinvite=nonat
    directmedia=nonat
    insecure=invite
    dtmfmode=auto 
    
    [Bureau_Externe_societe2]
    
    type=peer 
    host=sip3.ovh.fr 
    fromdomain=sip3.ovh.fr 
    qualify=yes 
    nat=yes
    context=Bureau_Sortant_societe2 
    canreinvite=nonat
    directmedia=nonat
    username=00xxxxxxxxx 
    fromuser=00xxxxxxxxx 
    secret=xxxxxxxxxx 
    disallow=all
    allow=alaw 
    dtmfmode=auto833
    merci de votre aide en tout cas.
    Dernière modification par Headstorm ; 27/04/2018 à 00h36.

  6. #6
    Membre Senior
    Date d'inscription
    janvier 2011
    Localisation
    Villejuif 94
    Messages
    337
    Downloads
    0
    Uploads
    0
    Citation Envoyé par Headstorm Voir le message

    Code:
    [general]
    
    context=societe1 societe2
    allowguest=no
    Le context, un seul permit, dans [general] est le context par défaut utilisé pour des appels sans authentification.
    Code:
    [societe1]
    register => 00xxxxxxxxxx:xxxxxxxxxx@sip3.ovh.fr ; votre numéro sip et le mot de passe
    context = Bureau_Entrant_societe1
    
    [societe2]
    register => 00xxxxxxxxxx:xxxxxxxxxx@sip3.ovh.fr ; votre numéro sip et le mot de passe
    context = Bureau_Entrant_societe2
    supprime les registers dans le compte de chaque société
    et mets toute la config. des comptes OVH dans sip.conf avec un type peer. users.conf est plutôt destiné à gérer les utilisateurs internes type friend.
    Avec OVH tu devras séparer les appels entrants dans ton dialplan, ils arriverons toujours dans le même context du au insecure=invite => pas d'authentification entrante, et les appels viennent du même serveur.
    Relis le post de http://www.asterisk-france.org/members/6585-slemoal plus haut. Utilise un seul context entrant pour tes comptes OVH.
    Dernière modification par olppp ; 26/04/2018 à 11h42.

  7. #7
    Membre Junior
    Date d'inscription
    décembre 2017
    Messages
    6
    Downloads
    0
    Uploads
    0
    Merci

    Voici ce que j'ai fait, cela pourra peut être servir à quelqu'un d'autre

    J'ai regroupé toute ma config et n'ai laissé qu'un seul point d'entrée dans le fichier sip.conf, les utiliateurs internes sont restés dans le users.conf

    Dans le fichier extension.conf, j'ai ensuite essayé de filtrer mes appels entrants en fonction de leur CALLERID mais ça ne fonctionnait pas alors je les ai filtré en fonction de leurs entêtes et ça fonctionne à merveille!
    j'en ai aussi profité pour éclater les dialplan dans des fichiers séparés, en fonction de chaque societé via des #include, c'est beaucoup plus clair.

    voici mon extentions.conf

    Code:
    [Bureau_Entrant]
    
    exten => s,1,Set(thedid=${SIP_HEADER(To)})
    exten => s,2,Set(thedid=${CUT(thedid,@,1)})
    exten => s,3,Set(thedid=${CUT(thedid,:,2)})
    exten => s,4,GotoIf($[ ${thedid} = 0xxxxxxxxx ]?Bureau_Entrant_societe1,s,1:5)
    exten => s,5,GotoIf($[ ${thedid} = 0xxxxxxxxx ]?Bureau_Entrant_societe1,s,1:6)
    exten => s,6,GotoIf($[ ${thedid} = 0xxxxxxxxx ]?Bureau_Entrant_societe2,s,1:7)
    exten => s,7,hangup
    
    [Bureau_Entrant_societe1]
    
    exten => s,1,Goto(IVR_FR_societe1,8001,1)
    
    [Bureau_Entrant_societe2]
    
    exten => s,1,Goto(IVR_FR_societe2,8001,1)
    Asterisk est enfin configuré pour gérer plusieurs trunks sur le même serveur.

    Vos conseils m'ont aidé à solutionner mon problème, merci encore.

Les tags pour cette discussion

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •