Здравствуйте! Столкнулся с проблемой разрыва разговора через 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 ?
Задан: 2013-01-22 14:08:09 +0400
Просмотрен: 1,058 раз
Обновлен: Jan 22 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
-- Executing [s@macro-dialout-trunk:19] Dial("SIP/323-00000fa6", "DAHDI/g1/w89181112233,300,") in new stack - Подсказать откуда берется 300 секунд ? - 300 секунд это - 300000 ms
awsswa ( 2013-01-22 14:24:59 +0400 )редактироватьдак они говорит что у него ансвер не детектится. читайте внимательно. а не детектится ибо страна выставлена неверно и аналоговое подключение.
meral ( 2013-01-22 14:30:11 +0400 )редактироватьНет, лучше подсказать, почему Астериск не распознает поднятие трубки с другой стороны. Или я что-то не правильно понимаю?
wellus ( 2013-01-22 14:30:49 +0400 )редактироватьда как же неверно выставлена страна, если везде RU прописано
wellus ( 2013-01-22 14:31:24 +0400 )редактироватьну надо знать как у вас определяется ответ. переполюсовка например или еще как. записать сигналы занято и гудок, посмотреть в редакторе частоты и так далее. за вас это никто не сделает.
meral ( 2013-01-22 14:35:25 +0400 )редактироватьПонимаю, а где мне их прописывать потом... в cadences? Кстати не могу найти описания cadences почему их 4 строчки и как они работают?
wellus ( 2013-01-22 15:07:59 +0400 )редактироватьУ Вас же там целая кампания по внедрению астерисков , спросите у коллег. Они помогут.
zzuz ( 2013-01-22 15:09:49 +0400 )редактироватьнаймите експерта. учитывая что вы берете почти 10 доларов за поддержку каждого абонента, вам должно хватит. вот честно, не помню я что каденсы значат. могу погуглить или в коде помотреть. но и вы можете же.
meral ( 2013-01-22 15:18:00 +0400 )редактироватьhttp://www.voip-info.org/wiki/view/chan_dahdi.conf вот тут все описано.
meral ( 2013-01-22 15:22:15 +0400 )редактироватьНу стоило только сайт вывесить... это еще макет с желаемыми расценками )))
wellus ( 2013-01-22 15:25:03 +0400 )редактироватьВам нужно записать тон отбоя (позвонить в город, на другой стороне положить трубку и записать гудки) проанализировать частоту тона, каденс, длительность и настроить dahdi что-то вроде:
busydetect=yes busycount=6 busypattern=500,500 cadence=125,125,2000,-4000
awsswa ( 2013-01-22 15:47:44 +0400 )редактироватьНапрятли у него всё так сложно. С линксисами обычно всё попроще.
zzuz ( 2013-01-22 17:02:52 +0400 )редактироватьхм... да с отбоем-то все нормально. У меня не хочет определять факт поднятия трубки... и вот тут я не пойму какой сигнал должна присылать городская АТС... подозреваю что должно быть переключение полярности или отсутствие КПВ в течении какого-то времени...
wellus ( 2013-01-22 17:07:06 +0400 )редактироватьу меня проблема не с Линксисом, а с Digium'ом
wellus ( 2013-01-22 17:07:43 +0400 )редактироватьansweronpolarityswitch=yes - этот параметр я включил... не помогает
wellus ( 2013-01-22 17:08:40 +0400 )редактировать