Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2013-01-22 14:08:09 +0400

wellus Gravatar wellus

DAHDI разрывает разговор сообщением -- Nobody picked up in 300000 ms

Здравствуйте! Столкнулся с проблемой разрыва разговора через 5 минут. Рвет разговор DAHDI. Но не могу понять как такое получается?

Связка следующая: FXS Linksys - Asterisk c FXO DAHDI - аналоговая городская АТС

Вот кусок дебага: ... установление соединения...

 -- Executing [s@macro-dialout-trunk:19] Dial("SIP/323-00000fa6", "DAHDI/g1/w89181112233,300,") in new stack
    -- Called g1/w89181112233
Audio is at 192.168.0.200 port 16796
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<--- Transmitting (NAT) to 192.168.0.208:5360 --->
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP 192.168.0.208:5360;branch=z9hG4bK-87c86956;received=192.168.0.208
From: 323 <sip:323@192.168.0.200>;tag=dfe3386280c239beo0
To: <sip:989181112233@192.168.0.200>;tag=as7099a955
Call-ID: 11b54832-b26aec2e@192.168.1.4
CSeq: 102 INVITE
User-Agent: Asterisk PBX 1.6.0.26-FONCORE-r78
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:989181112233@192.168.0.200>
Content-Type: application/sdp
Content-Length: 273

v=0
o=root 151858470 151858470 IN IP4 192.168.0.200
s=Asterisk PBX 1.6.0.26-FONCORE-r78
c=IN IP4 192.168.0.200
t=0 0
m=audio 16796 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

<------------>

Reliably Transmitting (NAT) to 192.168.0.208:5360:
OPTIONS sip:323@192.168.0.208:5360 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.200:5060;branch=z9hG4bK2d56452f;rport
Max-Forwards: 70
From: "Unknown" <sip:Unknown@192.168.0.200>;tag=as4fa1e6bc
To: <sip:323@192.168.0.208:5360>
Contact: <sip:Unknown@192.168.0.200>
Call-ID: 6a51a5867ccc76b07c35325635af3e68@192.168.0.200
CSeq: 102 OPTIONS
User-Agent: Asterisk PBX 1.6.0.26-FONCORE-r78
Date: Tue, 22 Jan 2013 11:44:24 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Length: 0


---
trixbox1*CLI> 
<--- SIP read from UDP://192.168.0.208:5360 --->
SIP/2.0 486 Busy Here
To: <sip:323@192.168.0.208:5360>;tag=a6989d36e02f4a63i0
From: "Unknown" <sip:Unknown@192.168.0.200>;tag=as4fa1e6bc
Call-ID: 6a51a5867ccc76b07c35325635af3e68@192.168.0.200
CSeq: 102 OPTIONS
Via: SIP/2.0/UDP 192.168.0.200:5060;branch=z9hG4bK2d56452f
Server: Linksys/SPA8000-5.1.10
Content-Length: 0
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER
Supported: x-sipura, replaces


<------------->
--- (10 headers 0 lines) ---
Really destroying SIP dialog '6a51a5867ccc76b07c35325635af3e68@192.168.0.200' Method: OPTIONS
Audio is at 192.168.0.200 port 16796
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<--- Transmitting (NAT) to 192.168.0.208:5360 --->
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP 192.168.0.208:5360;branch=z9hG4bK-87c86956;received=192.168.0.208
From: 323 <sip:323@192.168.0.200>;tag=dfe3386280c239beo0
To: <sip:989181112233@192.168.0.200>;tag=as7099a955
Call-ID: 11b54832-b26aec2e@192.168.1.4
CSeq: 102 INVITE
User-Agent: Asterisk PBX 1.6.0.26-FONCORE-r78
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:989181112233@192.168.0.200>
Content-Type: application/sdp
Content-Length: 273

v=0
o=root 151858470 151858475 IN IP4 192.168.0.200
s=Asterisk PBX 1.6.0.26-FONCORE-r78
c=IN IP4 192.168.0.200
t=0 0
m=audio 16796 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

... Разговор уже идет, но Астериск ANSWER не получает, DAHDI не определил поднятие трубки с другой стороны... Это как так получается??? И после 300 секунд ожидания поднятия трубки, Астериск естественно разрывает соединение, с сообщением:

<------------>
    -- Nobody picked up in 300000 ms
    -- Hungup 'DAHDI/3-1'
....

Причем при входящей связи все работает нормально!

Вот настройки DAHDI:

dahdi-channels.conf

...
;;; line="3 WCTDM/0/2 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-zaptel
channel => 3
callerid=
...

chan_dahdi.conf

[trunkgroups]

[channels]

language=ru
context=from-zaptel
signalling=fxs_ks
rxwink=300              
busydetect=yes
busycount=3
callprogress=yes
usecallerid=no
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
echotraining=yes
rxgain=2.0
txgain=0.0
group=0
callgroup=1
pickupgroup=1
immediate=yes
faxdetect=no
channel => 1

group=1
immediate=yes
faxdetect=no
rxgain=2.0
txgain=0.0
channel => 2-10

;Include setup-pstn configs
include dahdi-channels.conf


;Include PBXconfig configs
#include chan_dahdi_additional.conf

etc/dahdi/system.conf

# Span 1: WCTDM/0 "Wildcard AEX2400 Board 1" (MASTER)                                                                                
...                                                                                                        
fxsks=3                                                                                                                              
echocanceller=mg2,3                                                                                                                  
...

# Global data                                                                                                                        

loadzone        = ru                                                                                                                 
defaultzone     = ru

indications.conf

[general]
country=ru
[ru]
description = Russia / ex Soviet Union (Ukraine, etc.)
ringcadance = 1000,4000
dial = 425
busy = 425/350,0/350
ring = 425/1000,0/4000
congestion = 425/350,0/350
callwaiting = 425/200,0/5000
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
record = 1400/500,0/15000
info = !950/330,!1400/330,!1800/330,0

На сколько я разобрался Indications.conf нужен для генерации тонов, а для распознавания используется chan_dahdi.conf.... но вот что в нем настроить еще можно... я не понимаю. Подскажите куда копать? Почему dahdi не распознает поднятие трубки?...

DAHDI разрывает разговор сообщением -- Nobody picked up in 300000 ms

Здравствуйте! Столкнулся с проблемой разрыва разговора через 5 минут. Рвет разговор DAHDI. Но не могу понять как такое получается?

Связка следующая: FXS Linksys - Asterisk c FXO DAHDI - аналоговая городская АТС

Вот кусок дебага: ... установление соединения...

 -- Executing [s@macro-dialout-trunk:19] Dial("SIP/323-00000fa6", "DAHDI/g1/w89181112233,300,") in new stack
    -- Called g1/w89181112233
Audio is at 192.168.0.200 port 16796
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<--- Transmitting (NAT) to 192.168.0.208:5360 --->
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP 192.168.0.208:5360;branch=z9hG4bK-87c86956;received=192.168.0.208
From: 323 <sip:323@192.168.0.200>;tag=dfe3386280c239beo0
To: <sip:989181112233@192.168.0.200>;tag=as7099a955
Call-ID: 11b54832-b26aec2e@192.168.1.4
CSeq: 102 INVITE
User-Agent: Asterisk PBX 1.6.0.26-FONCORE-r78
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:989181112233@192.168.0.200>
Content-Type: application/sdp
Content-Length: 273

v=0
o=root 151858470 151858470 IN IP4 192.168.0.200
s=Asterisk PBX 1.6.0.26-FONCORE-r78
c=IN IP4 192.168.0.200
t=0 0
m=audio 16796 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

<------------>

Reliably Transmitting (NAT) to 192.168.0.208:5360:
OPTIONS sip:323@192.168.0.208:5360 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.200:5060;branch=z9hG4bK2d56452f;rport
Max-Forwards: 70
From: "Unknown" <sip:Unknown@192.168.0.200>;tag=as4fa1e6bc
To: <sip:323@192.168.0.208:5360>
Contact: <sip:Unknown@192.168.0.200>
Call-ID: 6a51a5867ccc76b07c35325635af3e68@192.168.0.200
CSeq: 102 OPTIONS
User-Agent: Asterisk PBX 1.6.0.26-FONCORE-r78
Date: Tue, 22 Jan 2013 11:44:24 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Length: 0


---
trixbox1*CLI> 
<--- SIP read from UDP://192.168.0.208:5360 --->
SIP/2.0 486 Busy Here
To: <sip:323@192.168.0.208:5360>;tag=a6989d36e02f4a63i0
From: "Unknown" <sip:Unknown@192.168.0.200>;tag=as4fa1e6bc
Call-ID: 6a51a5867ccc76b07c35325635af3e68@192.168.0.200
CSeq: 102 OPTIONS
Via: SIP/2.0/UDP 192.168.0.200:5060;branch=z9hG4bK2d56452f
Server: Linksys/SPA8000-5.1.10
Content-Length: 0
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER
Supported: x-sipura, replaces


<------------->
--- (10 headers 0 lines) ---
Really destroying SIP dialog '6a51a5867ccc76b07c35325635af3e68@192.168.0.200' Method: OPTIONS
Audio is at 192.168.0.200 port 16796
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<--- Transmitting (NAT) to 192.168.0.208:5360 --->
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP 192.168.0.208:5360;branch=z9hG4bK-87c86956;received=192.168.0.208
From: 323 <sip:323@192.168.0.200>;tag=dfe3386280c239beo0
To: <sip:989181112233@192.168.0.200>;tag=as7099a955
Call-ID: 11b54832-b26aec2e@192.168.1.4
CSeq: 102 INVITE
User-Agent: Asterisk PBX 1.6.0.26-FONCORE-r78
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:989181112233@192.168.0.200>
Content-Type: application/sdp
Content-Length: 273

v=0
o=root 151858470 151858475 IN IP4 192.168.0.200
s=Asterisk PBX 1.6.0.26-FONCORE-r78
c=IN IP4 192.168.0.200
t=0 0
m=audio 16796 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

... Разговор уже идет, но Астериск ANSWER не получает, DAHDI не определил поднятие трубки с другой стороны... Это как так получается??? И после 300 секунд ожидания поднятия трубки, Астериск естественно разрывает соединение, с сообщением:

<------------>
    -- Nobody picked up in 300000 ms
    -- Hungup 'DAHDI/3-1'
....

Причем при входящей связи все работает нормально!

Вот настройки DAHDI:

dahdi-channels.conf

...
;;; line="3 WCTDM/0/2 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=1
context=from-zaptel
channel => 3
callerid=
...

chan_dahdi.conf

[trunkgroups]

[channels]

language=ru
context=from-zaptel
signalling=fxs_ks
rxwink=300              
busydetect=yes
busycount=3
callprogress=yes
usecallerid=no
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
echotraining=yes
rxgain=2.0
txgain=0.0
group=0
callgroup=1
pickupgroup=1
immediate=yes
faxdetect=no
channel => 1

group=1
immediate=yes
faxdetect=no
rxgain=2.0
txgain=0.0
channel => 2-10

;Include setup-pstn configs
include dahdi-channels.conf


;Include PBXconfig configs
#include chan_dahdi_additional.conf

etc/dahdi/system.conf

# Span 1: WCTDM/0 "Wildcard AEX2400 Board 1" (MASTER)                                                                                
...                                                                                                        
fxsks=3                                                                                                                              
echocanceller=mg2,3                                                                                                                  
...

# Global data                                                                                                                        

loadzone        = ru                                                                                                                 
defaultzone     = ru

indications.conf

[general]
country=ru
[ru]
description = Russia / ex Soviet Union (Ukraine, etc.)
ringcadance = 1000,4000
dial = 425
busy = 425/350,0/350
ring = 425/1000,0/4000
congestion = 425/350,0/350
callwaiting = 425/200,0/5000
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
record = 1400/500,0/15000
info = !950/330,!1400/330,!1800/330,0

На сколько я разобрался Indications.conf нужен для генерации тонов, а для распознавания используется chan_dahdi.conf.... но вот что в нем настроить еще можно... я не понимаю. Подскажите куда копать? Почему dahdi не распознает поднятие трубки?...

Кстати погуглил и посмотрел у себя еще один параметр

CLI> dahdi show cadences
r1: 125,125,2000,4000
r2: 250,250,500,1000,250,250,500,4000
r3: 125,125,125,125,125,4000
r4: 1000,500,2500,5000

какие для россии по умолчанию должны быть? Я так предполагаю что теже что и в indications.conf ?

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.