Страница 1 из 1

Шум при входящих вместо звука

Добавлено: 09 фев 2014, 12:36
fremdling
Случилось так, что уже с месяц или немногим более, 1 из 100 входящих звонков от провайдера (с текущей загрузкой получается 1 раз в 2 часа), работающего по SIP, вместо нормального звука слышится шум очень напоминающий шум аналоговой модуляции модема (вот такое масло масленное). До этого год было всё идеально.
При этом, с той стороны звонящий всё прекрасно слышит.
Естественно, со своей стороны ничего не менялось ни в ПО ни в железе. И как обычно пров тоже вины не признаёт. Я же уже голову сломал, от того что же это может быть.
Дано:
Asterisk SVN-branch-1.4-r320393M,

От провайдера получаем городской номер по SIP. C их стороны с РОстелекомом, они подключены по E1.

Asterisk находится на хосте за НАТом линуховым. Сделан проброс дял хоста прова:

Код: Выделить всё

$IPT -t nat -A PREROUTING       --dst $ATK_IP -i $ATK_IF --src $VOIP_TS_IP     -p tcp --dport 5060     -j DNAT --to-destination $APP_IP # fwd SIP Server
$IPT        -A FORWARD          --dst $APP_IP            --src $VOIP_TS_IP     -p tcp --dport 5060     -j ACCEPT

$IPT -t nat -A PREROUTING       --dst $ATK_IP -i $ATK_IF --src $VOIP_TS_IP     -p tcp --dport 10000:20000     -j DNAT --to-destination $APP_IP # fwd SIP Server
$IPT        -A FORWARD          --dst $APP_IP            --src $VOIP_TS_IP     -p tcp --dport 10000:20000     -j ACCEPT
Модули nf_nat_sip и nf_conntrack_sip подключены.
Первым делом принудительно везде проставил кодек a-law как и у пира прова, что бы избежать преобразований, но фокус не удался, трансляций нет, а глюк есть.

Текущие конфиг sip.conf:

Код: Выделить всё

[PROV]
type=friend
context=incoming
dtmfmode=rfc2833
call-limit=100
host=X.X.X.X
nat=no
canreinvite=no
qualify=yes
disallow=all
allow=alaw
Вот статус пира:

Код: Выделить всё

server1*CLI> sip show peer PROV
  * Name       : PROV
  Secret       : <Not set>
  MD5Secret    : <Not set>
  Context      : incoming
  Subscr.Cont. : <Not set>
  Language     :
  AMA flags    : Unknown
  Transfer mode: open
  CallingPres  : Presentation Allowed, Not Screened
  Callgroup    :
  Pickupgroup  :
  Mailbox      :
  VM Extension : asterisk
  LastMsgsSent : 32767/65535
  Call limit   : 100
  Dynamic      : No
  Callerid     : "" <>
  MaxCallBR    : 384 kbps
  Expire       : -1
  Insecure     : no
  Nat          : RFC3581
  ACL          : No
  T38 pt UDPTL : No
  CanReinvite  : No
  PromiscRedir : No
  User=Phone   : No
  Video Support: No
  Trust RPID   : No
  Send RPID    : No
  Subscriptions: Yes
  Overlap dial : Yes
  Forward Loop : Yes
  DTMFmode     : rfc2833
  LastMsg      : 0
  ToHost       : X.X.X.X
  Addr->IP     : X.X.X.X Port 5060
  Defaddr->IP  : 0.0.0.0 Port 0
  Def. Username:
  SIP Options  : 100rel
  Codecs       : 0x8 (alaw)
  Codec Order  : (alaw:20)
  Auto-Framing:  No
  Status       : OK (10 ms)
  Useragent    :
  Reg. Contact :
У всех других пиров в локалке (софтофоны eyeBeam 1.5):

Код: Выделить всё

[user](!)
type=friend
context=outgoing
dtmfmode=rfc2833
call-limit=2
host=dynamic
nat=no
canreinvite=no
qualify=yes
disallow=all
;allow=ulaw
allow=alaw
В логах косячащего звонка тоже проблем не нашел:

Код: Выделить всё

[Jan 29 10:54:33] VERBOSE[24535] logger.c:
<--- SIP read from X.X.X.X:5060 --->
INVITE sip:345678@192.168.6.6:5060 SIP/2.0
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bK_a3Kr_1390964374X003842E9
To: "345678"<sip:345678@192.168.6.6:5060>
From: "9134444444"<sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
Contact: <sip:9134444444@X.X.X.X:5060>
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 100 INVITE
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 268
Allow: INVITE,CANCEL,ACK,BYE,INFO,PRACK,UPDATE,NOTIFY,MESSAGE,REFER,OPTIONS
Supported: 100rel
Category: 10

v=0
o=protei 1390968770 1390968770 IN IP4 X.X.X.X
s=protei
c=IN IP4 X.X.X.X
t=0 0
m=audio 23848 RTP/AVP 8 18 101
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:30
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=X-itc:83.234.37.149/34590

<------------->
[Jan 29 10:54:33] VERBOSE[24535] logger.c: --- (13 headers 12 lines) ---
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Sending to X.X.X.X : 5060 (no NAT)
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Using INVITE request as basis request - 52E86E96DC2A900138F73_X.X.X.X
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found peer 'PROV'
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found RTP audio format 8
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found RTP audio format 18
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found RTP audio format 101
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found audio description format telephone-event for ID 101
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found audio description format G729 for ID 18
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Capabilities: us - 0x8 (alaw), peer - audio=0x108 (alaw|g729)/video=0x0 (nothing), combined - 0x8 (alaw)
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
[Jan 29 10:54:33] DEBUG[24535] chan_sip.c: Our T38 capability = (0), peer T38 capability (0), joint T38 capability (0)
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Peer audio RTP is at port X.X.X.X:23848
[Jan 29 10:54:33] DEBUG[24535] chan_sip.c: Call from peer 'PROV' is 1 out of 100
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Looking for 345678 in incoming (domain 192.168.6.6)
[Jan 29 10:54:33] VERBOSE[24535] logger.c: list_route: hop: <sip:9134444444@X.X.X.X:5060>
[Jan 29 10:54:33] VERBOSE[24535] logger.c:
<--- Transmitting (no NAT) to X.X.X.X:5060 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bK_a3Kr_1390964374X003842E9;received=X.X.X.X
From: "9134444444"<sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
To: "345678"<sip:345678@192.168.6.6:5060>
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 100 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces
Contact: <sip:345678@192.168.6.6>
Content-Length: 0
<------------>
[Jan 29 10:54:34] VERBOSE[27352] logger.c: Audio is at 192.168.6.6 port 19922
[Jan 29 10:54:34] VERBOSE[27352] logger.c: Adding codec 0x8 (alaw) to SDP
[Jan 29 10:54:34] VERBOSE[27352] logger.c: Adding non-codec 0x1 (telephone-event) to SDP
[Jan 29 10:54:34] VERBOSE[27352] logger.c:
<--- Reliably Transmitting (no NAT) to X.X.X.X:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bK_a3Kr_1390964374X003842E9;received=X.X.X.X
From: "9134444444"<sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
To: "345678"<sip:345678@192.168.6.6:5060>;tag=as4c59f6de
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 100 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces
Contact: <sip:345678@192.168.6.6>
Content-Type: application/sdp
Content-Length: 244

v=0
o=root 24522 24522 IN IP4 192.168.6.6
s=session
c=IN IP4 192.168.6.6
t=0 0
m=audio 19922 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

<------------>
[Jan 29 10:54:34] VERBOSE[27352] logger.c:     -- <SIP/PROV-00000822> Playing '/var/www/wav/wav/ivr/greetings' (language 'ru')
[Jan 29 10:54:34] VERBOSE[24535] logger.c:
<--- SIP read from X.X.X.X:5060 --->
ACK sip:345678@192.168.6.6:5060 SIP/2.0
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bK_a3Kr_1390964374X003842E9
To: <sip:345678@192.168.6.6:5060>;tag=as4c59f6de
From: "9134444444"<sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
Contact: <sip:9134444444@X.X.X.X:5060>
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 100 ACK
Max-Forwards: 70
Content-Length: 0
<------------->
[Jan 29 10:54:34] VERBOSE[24535] logger.c: --- (9 headers 0 lines) ---
[Jan 29 10:54:35] VERBOSE[24535] logger.c: Reliably Transmitting (no NAT) to X.X.X.X:5060:

[Jan 29 10:54:39] VERBOSE[27352] logger.c:     -- Started music on hold, class 'default', on SIP/PROV-00000822
[Jan 29 10:54:41] VERBOSE[27352] logger.c:     -- SIP/102-00000823 answered SIP/PROV-00000822
[Jan 29 10:54:41] VERBOSE[27352] logger.c:     -- <SIP/102-00000823> Playing 'digits/2' (language 'en')
[Jan 29 10:54:42] VERBOSE[27352] logger.c:     -- Stopped music on hold on SIP/PROV-00000822
[Jan 29 10:54:42] VERBOSE[27366] logger.c:   == Begin MixMonitor Recording SIP/PROV-00000822
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Executing [h@macro-queue:1] Macro("SIP/PROV-00000822", "hangup") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Executing [s@macro-hangup:1] NoOp("SIP/PROV-00000822", "MEMBERINTERFACE=SIP/102") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Executing [s@macro-hangup:2] NoOp("SIP/PROV-00000822", "MEMBERNAME=Agent/") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Executing [s@macro-hangup:3] Set("SIP/PROV-00000822", "CDR(accountcode)=""") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Executing [s@macro-hangup:4] NoOp("SIP/PROV-00000822", "HANGUP 89134444444 STATUS: OK") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Executing [s@macro-hangup:5] NoOp("SIP/PROV-00000822", "CALLERSTATUS=") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Executing [s@macro-hangup:6] GotoIf("SIP/PROV-00000822", "0?7:8") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Goto (macro-hangup,s,8)
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Executing [s@macro-hangup:8] NoOp("SIP/PROV-00000822", "Finish if-hangup-68") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Executing [s@macro-hangup:9] GotoIf("SIP/PROV-00000822", "0?10:16") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Goto (macro-hangup,s,16)
[Jan 29 10:54:51] VERBOSE[27352] logger.c:     -- Executing [s@macro-hangup:16] NoOp("SIP/PROV-00000822", "Finish if-hangup-69") in new stack
[Jan 29 10:54:51] DEBUG[27352] chan_sip.c: Call to peer '102' removed from call limit 2
[Jan 29 10:54:51] VERBOSE[27352] logger.c:   == Spawn extension (macro-queue, s, 5) exited non-zero on 'SIP/PROV-00000822' in macro 'queue'
[Jan 29 10:54:51] VERBOSE[27352] logger.c:   == Spawn extension (macro-aster-queue, s, 77) exited non-zero on 'SIP/PROV-00000822' in macro 'aster-queue'
[Jan 29 10:54:51] VERBOSE[27352] logger.c:   == Spawn extension (incoming, 345678, 3) exited non-zero on 'SIP/PROV-00000822'
[Jan 29 10:54:51] VERBOSE[27352] logger.c: Scheduling destruction of SIP dialog '52E86E96DC2A900138F73_X.X.X.X' in 6400 ms (Method: ACK)
[Jan 29 10:54:51] DEBUG[27352] chan_sip.c: Strict routing enforced for session 52E86E96DC2A900138F73_X.X.X.X
[Jan 29 10:54:51] VERBOSE[27352] logger.c: set_destination: Parsing <sip:9134444444@X.X.X.X:5060> for address/port to send to
[Jan 29 10:54:51] VERBOSE[27352] logger.c: set_destination: set destination to X.X.X.X, port 5060
[Jan 29 10:54:51] VERBOSE[27352] logger.c: Reliably Transmitting (no NAT) to X.X.X.X:5060:
BYE sip:9134444444@X.X.X.X:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.6.6:5060;branch=z9hG4bK41e17404;rport
From: "345678"<sip:345678@192.168.6.6:5060>;tag=as4c59f6de
To: "9134444444"<sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 102 BYE
User-Agent: Asterisk PBX
Max-Forwards: 70
X-Asterisk-HangupCause: Unknown
X-Asterisk-HangupCauseCode: 0
Content-Length: 0


---
[Jan 29 10:54:51] VERBOSE[27366] logger.c:   == MixMonitor close filestream
[Jan 29 10:54:51] VERBOSE[27366] logger.c:   == End MixMonitor Recording SIP/PROV-00000822
[Jan 29 10:54:51] VERBOSE[24535] logger.c:
<--- SIP read from X.X.X.X:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.6.6:5060;received=192.168.6.6;branch=z9hG4bK41e17404;rport=5060
To: <sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
From: <sip:345678@192.168.6.6:5060>;tag=as4c59f6de
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 102 BYE
Content-Length: 0


<------------->
[Jan 29 10:54:51] VERBOSE[24535] logger.c: --- (7 headers 0 lines) ---
[Jan 29 10:54:51] VERBOSE[24535] logger.c: SIP Response message for INCOMING dialog BYE arrived
Вот непосрественно запись такого звонка: https://www.dropbox.com/s/99bn6jll6gbar ... 3.2662.mp3

Сам склоняюсь, что косяк у прова. Но решил посоветоваться.

Re: Шум при входящих вместо звука

Добавлено: 09 фев 2014, 14:51
Samael28
Почему-то мне кажется, что такое возникает при звонках с/на мобильные сети. Не знаю, как у Вас, но у меня при звонках на мобильный телефон иногда абонент на той стороне такое слышит, хотя с моей стороны все уходит отлично. Такой впечатление, что где-то на сетях кривой транскодинг включается, особенно при большой загрузке самих сетей.
Так что трабла может быть не только у Вашего провайдера, но и у вышестоящего, т.е. Ростелекома. Если Вы в хороших отношениях с провайдером, попросите какое-то время делать запись и на их стороне, потом сравните результаты.

Re: Шум при входящих вместо звука

Добавлено: 14 фев 2014, 14:59
fremdling
Действительно, сейчас просто отобрал 20 последних звонков, все номера входящих принадлежат МТС. Видать придётся смириться.