PDA

Voir la version complète : la voix ne transite pas entre 2 postes



brams
08/02/2016, 11h58
Bonjour,
Je mets en place une architecture de téléphonie VoIP avec asterisk.
opérateur : free
test avec 2 ordinateurs sur lesquels sont installés zoiper.
astérisk installé sur du centOS 7.
Lors de mes tests j'arrive à faire sonner les softphone des clients mais lorsqu'on décroche la voix ne transite pas sur le réseau, pas de son qui arrive dans le casque.
Ma configuration est basique car c'est un test basique entre 2 postes.

sip.conf

[root@srvasterisk01 asterisk]# cat sip.conf
[general]
context=default
srvlookup=no
externip=88.xxxxx
localnet=192.168.0.0/255.255.255.0
defaultiexpirey=1800
dtmfmode=auto
qualify=yes
register => 09:xxxxxx@freephonie.net
language=fr
disallow=all
allow=ulaw
allow=alaw
allow=gsm
qualify=yes
canreinvite=no

[freephonie_inbound]
type=peer
host=freephonie.net
context=global

[freephonie_outbound]
type=peer
host=freephonie.net
username= 09xxxx
secret= xxx
fromuser= 09xxxx
fromdomain=freephonie.net
[100]
type=friend
password=xx
context=global
host=dynamic
callerid=accueil <100>

[101]
type=friend
password= xxx
context=global
host=dynamic
callerid=toto <101>

extensions.conf

[global]
exten => _1XX,1,Dial(SIP/${EXTEN})
exten => _0XXXXXXXXX,1,Dial(SIP/freephonie_outbound/${EXTEN})
[appel_entrant]
exten => s,1,Dial(SIP/100)

Merci de votre aide.
brams

jean
08/02/2016, 14h40
il faudrait les traces (avec core set verbose 3 mini) de la console, et idéalement, les premières trames émises au début d'un appel avec rtp set debug on

olppp
08/02/2016, 15h24
canreinvite est déprécié au profit de dircetmedia.
Plutôt que globalement, essayes directmedia = yes dans la config de tes clients et directmedia = no pour freephonie.
pour freephonie, ma config actuelle est plus simple.


[freephonie](base_codecs)
type=peer
context=from-ext
disallow=all
allow=alaw,ulaw
host=freephonie.net
secret=xxxxxxxxxxx
fromuser=09xxxxxxxx
defaultuser=09xxxxxxx
qualify=yes
dtmfmode=inband
fromdomain=freephonie.net
insecure=port,invite
canreinvite=no
directmedia=no
deny=0.0.0.0/0.0.0.0
permit=212.27.52.5/255.255.255.255


auth = 09xxxxxxxx:xxxxxxxxxxxx@freephonie.net

register => 09xxxxxxxx:xxxxxxxxxxxxxx@freephonie.net

brams
08/02/2016, 17h02
il faudrait les traces (avec core set verbose 3 mini) de la console, et idéalement, les premières trames émises au début d'un appel avec rtp set debug on

Ok merci je vous envoie ça au plus vite

brams
08/02/2016, 17h21
il faudrait les traces (avec core set verbose 3 mini) de la console, et idéalement, les premières trames émises au début d'un appel avec rtp set debug on

Par contre asterisk est installé sur une VM.
Est-ce que ça peut influer sur la performance du PABX.
Merci.

olppp
08/02/2016, 17h41
L'utilisation d'une vm introduira une petite latence supplémentaire. Après cela dépend de la base matériel en premier, ensuite de l'hyperviseur utilisé. Je ne sait pas s'il existe des tests sur les performances "temps réel" des différentes solutions.

brams
08/02/2016, 23h48
il faudrait les traces (avec core set verbose 3 mini) de la console, et idéalement, les premières trames émises au début d'un appel avec rtp set debug on

Voici les traces:


================================================== =======================
Connected to Asterisk 13.7.0 currently running on srvasterisk01 (pid = 3272)
== Using SIP RTP CoS mark 5
-- Executing [100@global:1] Dial("SIP/101-00000000", "SIP/100") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/100
-- SIP/100-00000001 is ringing
-- Registered SIP '101' at 88.xxxxxxx:36996
> Saved useragent "Z 3.9.32144 r32121" for peer 101
[Feb 8 22:39:53] NOTICE[3779]: chan_sip.c:27701 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 101
[Feb 8 22:39:56] NOTICE[3779]: chan_sip.c:29374 sip_poke_noanswer: Peer '101' is now UNREACHABLE! Last qualify: 0
-- SIP/100-00000001 answered SIP/101-00000000
-- Channel SIP/100-00000001 joined 'simple_bridge' basic-bridge <801e5ab1-7e62-4589-bef5-3f58cf10efba>
-- Channel SIP/101-00000000 joined 'simple_bridge' basic-bridge <801e5ab1-7e62-4589-bef5-3f58cf10efba>
> 0x7f42b400bca0 -- Probation passed - setting RTP source address to 192.xxxxxx:8000
> 0x2002a00 -- Probation passed - setting RTP source address to 192.xxxxxx:8000
[Feb 8 22:40:06] NOTICE[3779]: chan_sip.c:23938 handle_response_peerpoke: Peer '101' is now Reachable. (5ms / 2000ms)
[Feb 8 22:40:18] NOTICE[3779]: chan_sip.c:27701 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 101
[Feb 8 22:40:34] WARNING[3779]: chan_sip.c:4015 retrans_pkt: Retransmission timeout reached on transmission Y1gGaU5kx2gI9a_OTXTlSw.. for seqno 1 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 32001ms with no response
[Feb 8 22:40:34] WARNING[3779]: chan_sip.c:4044 retrans_pkt: Hanging up call Y1gGaU5kx2gI9a_OTXTlSw.. - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).
-- Channel SIP/101-00000000 left 'simple_bridge' basic-bridge <801e5ab1-7e62-4589-bef5-3f58cf10efba>
== Spawn extension (global, 100, 1) exited non-zero on 'SIP/101-00000000'
-- Channel SIP/100-00000001 left 'simple_bridge' basic-bridge <801e5ab1-7e62-4589-bef5-3f58cf10efba>
srvasterisk01*CLI>

jean
09/02/2016, 00h13
Ben la, c'est un problème réseau vers ton piste 101... Il passe brièvement offlibe et ne répond pas aux paquets de signalisation

brams
09/02/2016, 00h49
Ben la, c'est un problème réseau vers ton piste 101... Il passe brièvement offlibe et ne répond pas aux paquets de signalisation

Je viens de modifier la conf et le problème réseau n'est plus en m'inspirant de la conf de olppp.. cependant j'ai toujours ce même problème de transmission de voix.



[general]
context=default
srvlookup=no
externip=88xxxxxxxxx
localnet=192.xxxxxx/255.255.255.0
defaultexpirey=1800
dtmfmode=auto
qualify=yes
register => 09xxxxxx:xxxxxxx@freephonie.net
language=fr
;disallow=all
;allow=ulaw
allow=alaw
;allow=gsm
qualify=yes
canreinvite=no

[freephonie]
type=peer
context=from-ext
disallow=all
allow=alaw,ulaw
host=freephonie.net
secret=xxxxxx
fromuser=09xxxxxxx
defaultuser=09xxxxxx
qualify=yes
dtmfmode=inband
fromdomain=freephonie.net
insecure=port,invite
canreinvite=no
directmedia=no
deny=0.0.0.0/0.0.0.0
permit=212.27.52.5/255.255.255.255
register => 09xxxxxx:xxxxxxx@freephonie.net
auth=register => 09xxxxxx:xxxxxx@freephonie.net

[freephonie_inbound]
type=peer
host=freephonie.net
context=global

[freephonie_outbound]
type=peer
host=freephonie.net
username= 09xxxxx
secret= xxxxx
fromuser= xxxxxxx
fromdomain=freephonie.net
[100]
type=friend
password=xxxx
context=global
host=dynamic
callerid=accueil <100>

[101]
type=friend
password= xxxxx
context=global
host=dynamic
callerid=toto <101>



Using SIP RTP CoS mark 5
-- Executing [100@global:1] Dial("SIP/101-00000002", "SIP/100") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/100
-- SIP/100-00000003 is ringing
> 0x1b42590 -- Probation passed - setting RTP source address to 192.168.0.4:8000
-- SIP/100-00000003 answered SIP/101-00000002
-- Channel SIP/100-00000003 joined 'simple_bridge' basic-bridge <ea2b54af-38eb-4403-9ac4-64a7823dc495>
-- Channel SIP/101-00000002 joined 'simple_bridge' basic-bridge <ea2b54af-38eb-4403-9ac4-64a7823dc495>
> 0x1b42590 -- Probation passed - setting RTP source address to 192.168.0.4:8000
> 0x7f5ec40080d0 -- Probation passed - setting RTP source address to 192.168.0.27:8000
-- Channel SIP/101-00000002 left 'simple_bridge' basic-bridge <ea2b54af-38eb-4403-9ac4-64a7823dc495>
== Spawn extension (global, 100, 1) exited non-zero on 'SIP/101-00000002'
-- Channel SIP/100-00000003 left 'simple_bridge' basic-bridge <ea2b54af-38eb-4403-9ac4-64a7823dc495>

jean
09/02/2016, 00h55
Au passage dans sip.conf, section 100, il faut remplacer password par secret

Reteste avec rtp set debug on

brams
09/02/2016, 01h15
Au passage dans sip.conf, section 100, il faut remplacer password par secret

Reteste avec rtp set debug on

voici ce que j'obtiens jusqu'à ce que je raccroche sans son

Using SIP RTP CoS mark 5
-- Executing [100@global:1] Dial("SIP/101-00000004", "SIP/100") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/100
-- SIP/100-00000005 is ringing
-- SIP/100-00000005 answered SIP/101-00000004
-- Channel SIP/100-00000005 joined 'simple_bridge' basic-bridge <cb6de773-ee69-47d2-98a3-f3ad4c621633>
-- Channel SIP/101-00000004 joined 'simple_bridge' basic-bridge <cb6de773-ee69-47d2-98a3-f3ad4c621633>
> 0x1de4130 -- Probation passed - setting RTP source address to 192.xxxxx4:8000
Got RTP packet from 192.xxxxx.4:8000 (type 00, seq 031756, ts 796551540, len 000160)
> 0x7fa06c00d7e0 -- Probation passed - setting RTP source address to 192xxxxx.27:8000
Got RTP packet from 192.xxxx.27:8000 (type 00, seq 042414, ts 2147281620, len 000160)
Sent RTP packet to 88.xxxxx:8000 (type 00, seq 061833, ts 2147281616, len 000160)
Got RTP packet from 192.xxxx:8000 (type 00, seq 031757, ts 796551700, len 000160)
Got RTP packet from 192.xxx:8000 (type 00, seq 031758, ts 796551860, len 000160)
Got RTP packet from 192.xxx.27:8000 (type 00, seq 042415, ts 2147281780, len 000160)
Sent RTP packet to 88.xxxx:8000 (type 00, seq 061834, ts 2147281776, len 000160)
Got RTP packet from 192xxxxx.27:8000 (type 00, seq 042416, ts 2147281940, len 000160)
Sent RTP packet to 88.xxxxxx:8000 (type 00, seq 061835, ts 2147281936, len 000160)
Got RTP packet from 192.xxxxx.4:8000 (type 00, seq 031759, ts 796552020, len 000160)
Got RTP packet from 192.xxxxx.4:8000 (type 00, seq 031760, ts 796552180, len 000160)
Got RTP packet from 192.xxxxx27:8000 (type 00, seq 042417, ts 2147282100, len 000160)
Sent RTP packet to 88.xxxxxx:8000 (type 00, seq 061836, ts 2147282096, len 000160)
Got RTP packet from 192.xxxxx4:8000 (type 00, seq 031761, ts 796552340, len 000160)
.....
-- Channel SIP/101-00000004 left 'simple_bridge' basic-bridge <cb6de773-ee69-47d2-98a3-f3ad4c621633>
== Spawn extension (global, 100, 1) exited non-zero on 'SIP/101-00000004'
-- Channel SIP/100-00000005 left 'simple_bridge' basic-bridge <cb6de773-ee69-47d2-98a3-f3ad4c621633>

jean
09/02/2016, 01h38
Un des postes 100 ou 101 n'est pas sur le kan ? Regarde ma signature....

brams
09/02/2016, 02h03
Un des postes 100 ou 101 n'est pas sur le kan ? Regarde ma signature....

oui j'ai vu le forum sur le nat; j'ai rajouté l'option nat=force_rport
en fait il y a 3 adresses les 2 adresses en local 192...4 et 192...27 et l'adresse pub 88.....

j'ai donc rajouter l'option sur les clients:
[100]
type=friend
secret=xxxx
context=global
host=dynamic
callerid=accueil <100>
nat=force_rport

[101]
type=friend
secret= xxxxx
context=global
host=dynamic
callerid=toto <101>
nat=force_rport

mais toujours pas de son..c'est peut être lié à la box

jean
09/02/2016, 02h34
Verifier externip / localnet et Eventuellement que les ports rtp (surtout pas 5060) sont routes en entrant sur le routeur cote serveur. Tu peux reduire la plage dans rtp.conf. 2 ports par comm simultanées

brams
09/02/2016, 02h59
Verifier externip / localnet et Eventuellement que les ports rtp (surtout pas 5060) sont routes en entrant sur le routeur cote serveur. Tu peux reduire la plage dans rtp.conf. 2 ports par comm simultanées.

Mes 2 PC(avec softphone) et mon serveur asterisk en local communiquent par un switch.
La freebox est elle relié au switch.J'ai mis une règle de direction sur la freebox pour que les data UDP port (10000-20000) soient routés vers le serveur asterisk.C'est bien cela l'idée?
En tout cas c'est toujours ko :pt1cable::pt1cable:

jean
09/02/2016, 03h22
Peux tu preciser ta conf ? Qui est sur le lan , qui est sur internet, qui appelle qui ?
Parce que tout a lheure les traces montraient un flux entre lan et wan - et la tu dis que les postes sont en local...
En gros il faut nat=yes (ou l'equivalent pour les versions récentes) pour les peers qui sont en dehors du lan et nat=no pour ceux sur le lan.

brams
09/02/2016, 03h45
[QUOTE=jean;20270]Peux tu preciser ta conf ? Qui est sur le lan , qui est sur internet, qui appelle qui ?
Parce que tout a lheure les traces montraient un flux entre lan et wan - et la tu dis que les postes sont en local...
En gros il faut nat=yes (ou l'equivalent pour les versions r

brams
09/02/2016, 03h46
Peux tu preciser ta conf ? Qui est sur le lan , qui est sur internet, qui appelle qui ?
Parce que tout a lheure les traces montraient un flux entre lan et wan - et la tu dis que les postes sont en local...
En gros il faut nat=yes (ou l'equivalent pour les versions récentes) pour les peers qui sont en dehors du lan et nat=no pour ceux sur le lan.

Toutes mes machines sont en local (les 2 PC et le serveur asterisk).
En effet l'adresse IP pub ne devrait pas être visible? c'est l'IP pub de ma freebox.Doit-elle intervenir ou non?

jean
09/02/2016, 03h57
Verifie que les stun server sont désactivés sur les clients

olppp
09/02/2016, 18h40
j'ai donc rajouter l'option sur les clients:
[100]
type=friend
secret=xxxx
context=global
host=dynamic
callerid=accueil <100>
nat=force_rport

[101]
type=friend
secret= xxxxx
context=global
host=dynamic
callerid=toto <101>
nat=force_rport

moi je n'autoriserai pas le nat aux postes internes ;ils ne doivent pas avoir de "pattes" vers l'extérieur. Le serveur Asterisk joue le rôle de gateway, C'est le sens dans ma config de directmedia=yes pour les comptes sip des postes et du directmedia=no pour freephonie.

entre postes internes

[2016-02-04 15:24:28] -- SIP/7xxx-00085d2effb6-0000e289 answered SIP/7yyyy-00085d2eff63-0000e288
[2016-02-04 15:24:28] -- Remotely bridging SIP/7yyy-00085d2eff63-0000e288 and SIP/7xxx-00085d2effb6-0000e289


le flux RTP ne passe plus par le serveur.

avec l'extérieur


-- SIP/freephonie-00000017 answered SIP/9aaa-00000016
-- Probation passed - setting RTP source address to 137.194.xxx.yyy:5ppp
-- Probation passed - setting RTP source address to 212.27.52.130:32874

Asterisk gère le flux RTP