Есть схема вида:
Провайдер=> [поток е1] -> [карта е1]=>Asterisk сервер
Есть периодическая проблема, со входящими и исходящими: звонки абсолютно рандомно разрываются примерно на 1-2 минуты разговора. Если смотреть sip дамп с нашей стороны - видно что на локальный телефон прилетает bye со стороны сервера. Если смотреть pri debug видно что для этого же разговора сервер отправляет отбой в поток.
На сервере есть ещё провайдер sip, если пускать звонки через него и через тот же диалплан - всё прекрасно работает.
pri debug
setup
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > DL-DATA request
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Protocol Discriminator: Q.931 (
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 2553/0x9F9) (Sent from originator)
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Message Type: SETUP (5)
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 TEI=0 Transmitting N(S)=79, window is open V(A)=79 K=7
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > TEI: 0 State 7(Multi-frame established)
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > V(A)=79, V(S)=79, V(R)=100
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > K=7, RC=0, l3initiated=0, rejectexcept=0, ackpend=0
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > T200id=0, N200=3, T203id=8192
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > [ 00 01 9e c8 08 02 09 f9 05 04 03 80 90 a3 18 03 a1 83 81 6c 06 00 81 34 32 31 37 70 0c 80 38 39 36 38 37 32 35 36 36 35 34 a1 ]
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Informational frame:
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > SAPI: 00 C/R: 0 EA: 0
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > TEI: 000 EA: 1
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > N(S): 079 0: 0
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > N(R): 100 P: 0
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > 38 bytes of data
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Protocol Discriminator: Q.931 (
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 2553/0x9F9) (Sent from originator)
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Message Type: SETUP (5)
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > [04 03 80 90 a3]
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Bearer Capability (len= 5) [ Ext: 1 Coding-Std: 0 Info transfer capability: Speech (0)
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Ext: 1 Trans mode/rate: 64kbps, circuit-mode (16)
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > User information layer 1: A-Law (35)
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > [18 03 a1 83 81]
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Channel ID (len= 5) [ Ext: 1 IntID: Implicit Other(PRI) Spare: 0 Preferred Dchan: 0
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > ChanSel: As indicated in following octets
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Ext: 1 Coding: 0 Number Specified Channel Type: 3
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Ext: 1 Channel: 1 Type: CPE]
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > [6c 06 00 81 34 32 31 37]
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Calling Number (len=
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Presentation: Presentation permitted, user number passed network screening (1) '4217' ]
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > [70 0c 80 38 39 36 38 37 32 35 36 36 35 34]
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Called Number (len=14) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) '89***' ]
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > [a1]
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Sending Complete (len= 1)
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 -- Stopping T203 timer
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 -- Starting T200 timer
[Nov 13 15:09:26] VERBOSE[31363] chandahdi.c: PRI Span: 1 q931.c:6036 q931setup: Call 35321 enters state 1 (Call Initiated). Hold state: Idle
disconnect
[Nov 13 15:10:24] DEBUG[31363] channel.c: Hanging up channel 'DAHDI/i1/89**-1010'
[Nov 13 15:10:24] DEBUG[31363] chan_dahdi.c: dahdi_hangup(DAHDI/i1/89*-1010)
[Nov 13 15:10:24] DEBUG[31363] chan_dahdi.c: Set option AUDIO MODE, value: ON(1) on DAHDI/i1/89**-1010
[Nov 13 15:10:24] DEBUG[31363] sigpri.c: sigprihangup 1
[Nov 13 15:10:24] DEBUG[31363] sigpri.c: Not yet hungup... Calling hangup with cause 16, and clearing call
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 q931.c:6837 q931hangup: Hangup other cref:35321
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 q931.c:6594 _q931hangup: ourstate Active, peerstate Active, hold-state Idle
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 q931.c:5783 q931disconnect: Call 35321 enters state 11 (Disconnect Request). Hold state: Idle
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > DL-DATA request
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Protocol Discriminator: Q.931 (
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 2553/0x9F9) (Sent from originator)
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Message Type: DISCONNECT (69)
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 TEI=0 Transmitting N(S)=85, window is open V(A)=85 K=7
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > TEI: 0 State 7(Multi-frame established)
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > V(A)=85, V(S)=85, V(R)=108
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > K=7, RC=0, l3initiated=0, rejectexcept=0, ackpend=0
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > T200id=0, N200=3, T203id=8192
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > [ 00 01 aa d8 08 02 09 f9 45 08 02 81 90 ]
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Informational frame:
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > SAPI: 00 C/R: 0 EA: 0
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > TEI: 000 EA: 1
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > N(S): 085 0: 0
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > N(R): 108 P: 0
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > 9 bytes of data
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Protocol Discriminator: Q.931 (
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 2553/0x9F9) (Sent from originator)
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Message Type: DISCONNECT (69)
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > [08 02 81 90]
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 Location: Private network serving the local user (1)
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 > Ext: 1 Cause: Normal Clearing (16), class = Normal Event (1) ]
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 -- Stopping T203 timer
[Nov 13 15:10:24] VERBOSE[31363] chandahdi.c: PRI Span: 1 -- Starting T200 timer
Пример sip лога:
[Nov 13 15:10:23] DEBUG[31363] dsp.c: Stop state 5 with duration 1
[Nov 13 15:10:23] DEBUG[31363] dsp.c: Start state 0
[Nov 13 15:10:23] DEBUG[31363] dsp.c: Stop state 0 with duration 2
[Nov 13 15:10:23] DEBUG[31363] dsp.c: Start state 3
[Nov 13 15:10:24] DEBUG[31363] dsp.c: Stop state 3 with duration 2
[Nov 13 15:10:24] DEBUG[31363] dsp.c: Start state 5
[Nov 13 15:10:24] DEBUG[31363] dsp.c: Stop state 5 with duration 2
[Nov 13 15:10:24] DEBUG[31363] dsp.c: Start state 6
[Nov 13 15:10:24] DEBUG[31363] dsp.c: Stop state 6 with duration 1
[Nov 13 15:10:24] DEBUG[31363] dsp.c: Start state 7
[Nov 13 15:10:24] DEBUG[31363] channel.c: Got a FRAME_CONTROL (
[Nov 13 15:10:24] DEBUG[31363] res_rtp_asterisk.c: Setting the marker bit due to a source update
[Nov 13 15:10:24] DEBUG[31363] chan_dahdi.c: Requested indication 20 on channel DAHDI/i1/989*********-1010
[Nov 13 15:10:24] DEBUG[31363] channel.c: Bridge stops bridging channels SIP/117-00004715 and DAHDI/i1/989*********-1010
[Nov 13 15:10:24] DEBUG[31363] channel.c: Soft-Hanging up channel 'SIP/117-00004715'
[Nov 13 15:10:24] DEBUG[31363] chan_dahdi.c: Disabled echo cancellation on channel 1
[Nov 13 15:10:24] DEBUG[31363] chan_dahdi.c: Set option TDD MODE, value: OFF(0) on DAHDI/i1/989*********-1010
[Nov 13 15:10:24] DEBUG[31363] chan_dahdi.c: Updated conferencing on 1, with 0 conference users
[Nov 13 15:10:24] DEBUG[31363] chan_dahdi.c: Set option AUDIO MODE, value: OFF(0) on DAHDI/i1/989*********-1010
[Nov 13 15:10:24] VERBOSE[31363] chan_dahdi.c: -- Hungup 'DAHDI/i1/989*********-1010'
[Nov 13 15:10:24] DEBUG[31363] app_dial.c: Exiting with DIALSTATUS=ANSWER.
[Nov 13 15:10:24] DEBUG[31363] pbx.c: Spawn extension (office,9989*********,3) exited non-zero on 'SIP/117-00004715'
[Nov 13 15:10:24] VERBOSE[31363] pbx.c: == Spawn extension (office, 9989*********, 3) exited non-zero on 'SIP/117-00004715'
[Nov 13 15:10:24] DEBUG[31363] channel.c: Soft-Hanging up channel 'SIP/117-00004715'
[Nov 13 15:10:24] DEBUG[31363] channel.c: Hanging up channel 'SIP/117-00004715'
[Nov 13 15:10:24] DEBUG[31363] chan_sip.c: Hanging up zombie call. Be scared.
[Nov 13 15:10:24] DEBUG[31363] chan_sip.c: Updating call counter for incoming call
[Nov 13 15:10:24] DEBUG[31363] res_rtp_asterisk.c: Setting RTCP address on RTP instance '0x7f27dc155f38'
[Nov 13 15:10:24] DEBUG[31363] netsock2.c: Splitting '192.168.5.132:5060' into...
[Nov 13 15:10:24] DEBUG[31363] netsock2.c: ...host '192.168.5.132' and port '5060'.
[Nov 13 15:10:24] DEBUG[31363] chan_sip.c: Trying to put 'BYE sip:117' onto UDP socket destined for 192.168.5.132:5060
Ко всем звонкам есть pcap файлы и записи - видно что идёт полноценный rtp обмен, и внезапно разговор обрывается.
Кратко о системе: Asterisk 1.8.10.1 DAHDI Version: 2.5.0.1
chan_dahdi.conf
[channels]
context=incoming
signalling=pri_cpe
switchtype=euroisdn ; euroisdn, national
pridialplan=unknown ; unknown, national
prilocaldialplan=unknown ; unknown, national
echocancel=yes
echocancelwhenbridged=yes
callerid=asreceived
callprogress=yes
relaxdtmf=yes
group=1
channel=1-15,17-31
_________________
IT Logic, разработка CRM систем, Call центры, сложные VoIP решения, телефонизация под ключ.
p.s. Тыкать, моветон