Affichage des résultats 1 à 5 sur 5

Discussion: Je n'entends pas mon correspondant quand il m'appelle

  1. #1
    Membre Junior
    Date d'inscription
    dcembre 2013
    Messages
    3
    Downloads
    0
    Uploads
    0

    Je n'entends pas mon correspondant quand il m'appelle

    Bonjour

    Voici mon problème : J'ai un compte SIP chez OVH que je veux utiliser sur plusieurs devices simultanément. Concrètement, quand on m'appelle, je veux pouvoir décrocher soit sur mon PC de bureau, soit sur mon smartphone soit sur mon Mac Book Air etc et pas seulement avoir le dernier device authentifié qui sonne.

    J'ai donc installé Asterisk 1.8.10.1 sur mon serveur dédié (chez OVH également) sous Ubuntu, avec un simple apt-get pour mettre en place un groupe d'appel. Le serveur est directement connecté à Internet, il n'y a pas de routeur. Les clients fonctionnent correctement lorsque je les configure pour utiliser mon SIP OVH directement.

    J'ai suivi de nombreux tutos, la doc etc et j'ai presque réussi à faire ce que je veux, mis à part que je n'entends pas mon correspondant lorsqu'il m'appelle. Je n'ai en revanche aucun souci lorsque c'est moi qui l'appelle ou lorsque j'appelle un de mes autres devices en interne.

    J'ai créé 3 comptes sur Asterisk pour chacun des devices avec les numéros 6001, 6002 et 6003.

    Voici mes fichiers de configuration :

    sip.conf
    Code:
    [general]
    bindport=5060
    bindaddr=XXX.XXX.XXX.XXX ; Adresse IP de mon serveur dédié
    srvlookup=yes
    defaultexpiry=3600
    registertimeout=30
    registerattempts=0
    allowguest=no
    encryption=no
    nat = yes
    directmedia=yes ; "canreinvite" dans les versions plus anciennes
    directrtpsetup=no
    
    ; SIP trunks
    register => 033XXXXXXXXX:********@sip.ovh.fr
     
    [lenwe-ovh]
    encryption=no
    type=peer
    host=sip.ovh.fr
    context=lenwe-incoming
    language=fr
    insecure=invite,port
    fromdomain=sip.ovh.fr
    fromuser=033XXXXXXXXX
    username=033XXXXXXXXX
    secret=********
    qualify=yes
    dtmfmode=auto
    language=fr
    video=no
    disallow=all
    allow=ulaw,alaw,g729,g723,adpcm
    Si je mets directmedia (anciennement canreinvite) à no, je n'entends plus mon correspondant lorsque je l'appelle
    Si je mets directrtpsetup à yes, je n'entends plus rien dans les 2 sens en appelant un 6XXX depuis un autre 6XXX (mais à la limite on s'en fout)

    users.conf
    Code:
    [general]
    fullname = New User
    userbase = 6000
    hasvoicemail = no
    hassip = yes
    hasiax = no
    hasmanager = no
    
    [lenwe](!)
    type=friend
    host=dynamic
    dtmfmode=auto
    fullname = Lenwe
    context=lenwe-internal
    secret=O1mwODnU
    language=fr
    video=no
    mailbox=XXXXXXXX@XXX.com
    disallow=all
    allow=ulaw,alaw,g729,g723,adpcm
     
    [6001](lenwe)
    username = lenwe-office
     
    [6002](lenwe)
    username = lenwe-mobile
     
    [6003](lenwe)
    username = lenwe-laptop
    extensions.conf
    Code:
    [general] 
    static=yes 
    writeprotect=no 
    autofallthrough=yes 
    clearglobalvars=no 
    priorityjumping=no 
    
    [lenwe-incoming]
    
    ; from external
    exten => s,1,Dial(SIP/6001&SIP/6002&SIP/6003,20,t)
    
    [lenwe-internal]
    
    ; to internal
    exten => _6XXX,1,Dial(SIP/${EXTEN},20,t)
    
    ; to external
    exten => _X.,1,Dial(SIP/lenwe-ovh/${EXTEN})
    Voici la trace lorsque je passe un appel depuis mon ordinateur (6001) vers l'extérieur (0951XXXXXX) => Ça fonctionne. On remarque que les lignes sont bridgées.

    Appel de 6001 vers ligne fixe
    Code:
    == Using SIP RTP CoS mark 5
    	-- Executing [0951XXXXXX@lenwe-internal:1] Dial("SIP/6001-00000000", "SIP/lenwe-ovh/0951XXXXXX") in new stack
    == Using SIP RTP CoS mark 5
    	-- Called SIP/lenwe-ovh/0951XXXXXX
    	-- SIP/lenwe-ovh-00000001 is ringing
    	-- SIP/lenwe-ovh-00000001 is making progress passing it to SIP/6001-00000000
    	-- SIP/lenwe-ovh-00000001 answered SIP/6001-00000000
    	-- Remotely bridging SIP/6001-00000000 and SIP/lenwe-ovh-00000001
    == Spawn extension (lenwe-internal, 0951XXXXXX, 1) exited non-zero on 'SIP/6001-00000000'
    Voici la trace d'un appel passé de l'extérieur vers mes 3 postes locaux. J'ai décroché avec le 6001 et le 6003 est hors-ligne (d'où le warning).
    À ce moment là, mon correspondant (extérieur) peut m'entendre mais pas l'inverse. On remarque qu'il n'y a pas de bridging (on devrait voir un truc du genre "Remotely bridging SIP/lenwe-ovh-00000005 and SIP/6001-00000006")

    Appel ligne fixe (0951XXXXXX) vers 6XXX
    Code:
    == Using SIP RTP CoS mark 5
    	-- Executing [s@lenwe-incoming:1] Dial("SIP/lenwe-ovh-00000005", "SIP/6001&SIP/6002&SIP/6003,20,t") in new stack
    == Using SIP RTP CoS mark 5
    	-- Called SIP/6001
    == Using SIP RTP CoS mark 5
    	-- Called SIP/6002
    [Dec 12 12:56:13] WARNING[15946]: app_dial.c:2218 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
    	-- SIP/6001-00000006 connected line has changed. Saving it until answer for SIP/lenwe-ovh-00000005
    	-- SIP/6002-00000007 connected line has changed. Saving it until answer for SIP/lenwe-ovh-00000005
    	-- SIP/6001-00000006 is ringing
    	-- SIP/6002-00000007 is ringing
    	-- SIP/6001-00000006 connected line has changed. Saving it until answer for SIP/lenwe-ovh-00000005
    	-- SIP/6001-00000006 answered SIP/lenwe-ovh-00000005
    == Spawn extension (lenwe-incoming, s, 1) exited non-zero on 'SIP/lenwe-ovh-00000005'
    Une idée ? Quelqu'un a déjà réussi à configurer ce genre d'installation ?

  2. #2
    Membre Senior
    Date d'inscription
    septembre 2010
    Localisation
    Where the sun shines
    Messages
    1 418
    Downloads
    0
    Uploads
    0
    un bon moyen de debugger est de faire un rtp set debug on sur la console - ca permet de voir vers quelles @ ip asterisk envoie les paquets audio
    tu dois voir deux flux bidirectionnels : ovh tel <=> asterisk et asterisk <=> client

    essaie aussi en ajoutant: externip = @ ip publique du serveur, et localnet = @ ip du serveur/32 - essaie aussi sans le nat dans la section general, mais en le mettant poste par poste

    aussi, pour simplifier les tests, ne mets initialement qu'un poste à sonner - une fois l'audio résolu, tu pourras passer à trois

  3. #3
    Membre Junior
    Date d'inscription
    dcembre 2013
    Messages
    3
    Downloads
    0
    Uploads
    0
    Merci pour ta réponse Je ne connaissais pas le rtp debug. Malheureusement, ça ne résoud pas mon problème.

    Donc ce qui se passe quand je passe un appel depuis mon poste vers l'extérieur, j'ai une série de lignes comme celles ci qui défilent non stop jusqu'à ce que je décroche :
    Code:
    Got  RTP packet from    XXX.XXX.XXX.XXX:50042 (type 00, seq 026588, ts 012800, len 000160)
    Sent RTP packet to      91.121.128.146:30522 (type 00, seq 038367, ts 012800, len 000160)
    Et lorsque je décroche sur mon téléphone extérieur, j'ai quelques lignes du genre
    Code:
    Sent RTP P2P packet to 91.121.128.146:30522 (type 00, len 000160)
    À l'inverse, lorsque j'appelle de l'extérieur, j'ai les lignes suivantes mais seulement après avoir décroché
    Code:
    Got  RTP packet from    XXX.XXX.XXX.XXX:50044 (type 00, seq 026146, ts 076320, len 000160)
    Sent RTP packet to      91.121.128.144:32880 (type 00, seq 035054, ts 076320, len 000160)
    XXX.XXX.XXX.XXX est l'adresse IP de mon client (celle de mon routeur derrière lequel est mon ordi) et 91.121.128.144 c'est sip.ovh.fr. Pour les tests j'ai donc mis nat=yes pour les postes (qui sont en général derrière un routeur) et nat=no pour le general, vu que le serveur est directement relié à Internet. Je n'ai redirigé que vers un seul poste également pour simplifier.

    Vu que je n'y connais pas grand chose et qu'il est difficile de trouver de la documentation claire pour Asterisk, j'ai fait pas mal d'essais avec les paramètres directmedia et directrtpsetup, dans certains cas j'avais du son que dans un sens même en appelant vers l'extérieur, voire pas de son du tout. D'après ce que j'ai compris, ça permet d'initialiser le dialogue entre les partis avec un système d'invitations et d'acknowledgments et vu la gueule de la trace RTP, c'est à ce niveau là qu'il faut régler quelque chose...

  4. #4
    Membre Senior
    Date d'inscription
    septembre 2010
    Localisation
    Where the sun shines
    Messages
    1 418
    Downloads
    0
    Uploads
    0
    peux tu regarder le rtp.conf et vérifier que les ports listés sont bien ouverts sur le firewall

    directmedia est une prise de tête totale. ca sert lorsque deux clients sip qui sont en comm via un serveur se mettent à échanger le media directement sans passer par le serveur. mais il faut que chaque client connaisse son ip publique et d'autres conditions... oublie, ca ne peut que compliquer

    lorsque tu appelles depuis l''exterieur, l'@ "ovh" est .146 et non .144 comme les autres - fautes de frappe ?

    essaie d'abord de faire un echo test - dans le dialplan, au lieu de faire dial ton tel, fais answer() puis echo() - ca permettra de voir ou le son se perd

  5. #5
    Membre Junior
    Date d'inscription
    dcembre 2013
    Messages
    3
    Downloads
    0
    Uploads
    0
    J'ai désactivé directmedia. Effectivement, l'IP du serveur est fixe mais celle des clients peut varier. Seulement, avec directmedia à no, je n'entends plus mon correspondant que ce soit quand je l'appelle ou quand il m'appelle. Avec set rtp debug à on, j'ai les mêmes traces qu'avant, mis à part que les Sent RTP P2P packet ne s'arrêtent pas. C'est de toute évidence une fausse piste.

    Pour ce qui est du firewall c'est simple, il laisse tout passer (Asterisk utilise les ports 10000-20000 pour le RTP) et mon serveur est directement connecté à Internet. Lorsque je fais un netstat -na en passant un appel, je vois bien les flux ouverts.

    Code:
    udp        0      0 XXX.XXX.XXX.XXX:5060      0.0.0.0:*
    udp        0      0 XXX.XXX.XXX.XXX:10008     0.0.0.0:*
    udp        0      0 XXX.XXX.XXX.XXX:10009     0.0.0.0:*
    udp        0      0 XXX.XXX.XXX.XXX:10018     0.0.0.0:*
    udp        0      0 XXX.XXX.XXX.XXX:10019     0.0.0.0:*
    Sinon, L'IP de sip.ovh.fr est 91.121.129.20 (et non 91.121.128.146 ni 91.121.128.144)

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
  •