Имеем следующую конфигурацию:
SIP Provider -> * ->T1 Card ->Conference Bridge
Здесь я использую * как переходник между sip->T1. Conference Bridge это штуковина для аудио конференций. В нее входит Т1 от *.
Используя X-lite подключенный к * я без проблем могу звонить на Conf.Bridge и он корректно расспознает все DTMF комманды. К сожелению я в * еше новичек и нашел только одну дебаг команду rtp debug которая выводит чего нажимаешь во время звонка. Вот то что у меня выдает на корректно работаюших DTMF
| Цитата: |
| Got RTP packet from 10.100.2.101:20548 (type 101, seq 003340, ts 970680, len 000004) Got RTP RFC2833 from 10.100.2.101:20548 (type 101, seq 003340, ts 970680, len 000004, mark 1, event 00000004, end 0, duration 00160) Got RTP packet from 10.100.2.101:20548 (type 101, seq 003340, ts 970680, len 000004) Got RTP RFC2833 from 10.100.2.101:20548 (type 101, seq 003340, ts 970680, len 000004, mark 1, event 00000004, end 0, duration 00160) Got RTP packet from 10.100.2.101:20548 (type 101, seq 003340, ts 970680, len 000004) Got RTP RFC2833 from 10.100.2.101:20548 (type 101, seq 003340, ts 970680, len 000004, mark 1, event 00000004, end 0, duration 00160) Got RTP packet from 10.100.2.101:20548 (type 101, seq 003341, ts 970680, len 000004) Got RTP RFC2833 from 10.100.2.101:20548 (type 101, seq 003341, ts 970680, len 000004, mark 0, event 00000004, end 0, duration 00320) Got RTP packet from 10.100.2.101:20548 (type 101, seq 003342, ts 970680, len 000004) Got RTP RFC2833 from 10.100.2.101:20548 (type 101, seq 003342, ts 970680, len 000004, mark 0, event 00000004, end 0, duration 00480) Got RTP packet from 10.100.2.101:20548 (type 101, seq 003343, ts 970680, len 000004) Got RTP RFC2833 from 10.100.2.101:20548 (type 101, seq 003343, ts 970680, len 000004, mark 0, event 00000004, end 1, duration 00640) Got RTP packet from 10.100.2.101:20548 (type 101, seq 003343, ts 970680, len 000004) Got RTP RFC2833 from 10.100.2.101:20548 (type 101, seq 003343, ts 970680, len 000004, mark 0, event 00000004, end 1, duration 00640) Got RTP packet from 10.100.2.101:20548 (type 101, seq 003343, ts 970680, len 000004) Got RTP RFC2833 from 10.100.2.101:20548 (type 101, seq 003343, ts 970680, len 000004, mark 0, event 00000004, end 1, duration 00640) Got RTP packet from 10.100.2.101:20548 (type 00, seq 003344, ts 971320, len 000160) |
После подключения к SIP провайдеру я могу без вопросов звонить на Conference Bridge (все слышно не вопрос) НО! Не расспознается DTMF вообще.
Вот лог который получается после нажатия на DTMF испльзуя провайдера:
| Цитата: |
| Got RTP packet from 74.52.15.138:18180 (type 00, seq 039690, ts 025600, len 000160) Sent RTP packet to 74.52.15.138:18180 (type 00, seq 010013, ts 027520, len 000160) Got RTP packet from 74.52.15.138:18180 (type 101, seq 039691, ts 025600, len 000004) Got RTP RFC2833 from 74.52.15.138:18180 (type 101, seq 039691, ts 025600, len 000004, mark 1, event 00000008, end 0, duration 00000) Got RTP packet from 74.52.15.138:18180 (type 101, seq 039692, ts 025600, len 000004) Got RTP RFC2833 from 74.52.15.138:18180 (type 101, seq 039692, ts 025600, len 000004, mark 0, event 00000008, end 0, duration 00000) Got RTP packet from 74.52.15.138:18180 (type 101, seq 039693, ts 025600, len 000004) Got RTP RFC2833 from 74.52.15.138:18180 (type 101, seq 039693, ts 025600, len 000004, mark 0, event 00000008, end 0, duration 00000) Got RTP packet from 74.52.15.138:18180 (type 101, seq 039694, ts 025600, len 000004) Got RTP RFC2833 from 74.52.15.138:18180 (type 101, seq 039694, ts 025600, len 000004, mark 0, event 00000008, end 1, duration 00800) Got RTP packet from 74.52.15.138:18180 (type 101, seq 039694, ts 025600, len 000004) Got RTP RFC2833 from 74.52.15.138:18180 (type 101, seq 039694, ts 025600, len 000004, mark 0, event 00000008, end 1, duration 00800) Got RTP packet from 74.52.15.138:18180 (type 101, seq 039694, ts 025600, len 000004) Got RTP RFC2833 from 74.52.15.138:18180 (type 101, seq 039694, ts 025600, len 000004, mark 0, event 00000008, end 1, duration 00800) Got RTP packet from 74.52.15.138:18180 (type 00, seq 039695, ts 025760, len 000160) |
Что интересно. Если в dtmfmode поменять значение на inband или info то передается только то что первое нажимаешь ( например # или 4)
Игрался со значениями toneduration=300 - 1300...
не помогает.
Если найдется человек который смог бы помочь то моя благодарность/час не знала бы границ в пределах разумного
[/list][/list]
2. Какая версия *?
3. Какой-то кастрированный dtmf со стороны провайдела приходит: duration 00000, минимум бы хотябы 120
_________________
SuSE 10.1 / Asterisk-trunk / Celeron 1000 / chan_misdn (HFC)
Linksys PAP2T / SPA941 / SPA3102 / SPA2102
| IgorG писал(а): |
| 1. DTMF удобнее смотреть добавив записи console значение dtmf (это в logger.conf) 2. Какая версия *? 3. Какой-то кастрированный dtmf со стороны провайдела приходит: duration 00000, минимум бы хотябы 120 |
Спасибо за совет по поводу DTMF... Теперь намного легче стало читать.
Версия * 1.4.9 - на Linux Clarabell
Теперь с новым дебагом у меня вот так получается:
Работающий DTMF:
| Код: |
| -- parse_srv: SRV mapped to host proxy01.dal.us.icall.net, port 5060 -- Executing [3001@from-sip:1] Dial("SIP/2001-095df430", "Zap/g1/3001") in new stack -- Requested transfer capability: 0x00 - SPEECH -- Called g1/3001 -- Zap/1-1 is proceeding passing it to SIP/2001-095df430 -- Zap/1-1 is ringing -- Zap/1-1 answered SIP/2001-095df430 [Sep 26 11:43:22] DTMF[6092]: channel.c:2338 __ast_read: DTMF end '1' received on SIP/2001-095df430, duration 0 ms [Sep 26 11:43:22] DTMF[6092]: channel.c:2372 __ast_read: DTMF begin emulation of '1' with duration 100 queued on SIP/2001-095df430 [Sep 26 11:43:23] DTMF[6092]: channel.c:2444 __ast_read: DTMF end emulation of '1' queued on SIP/2001-095df430 [Sep 26 11:43:23] DTMF[6092]: channel.c:2338 __ast_read: DTMF end '2' received on SIP/2001-095df430, duration 0 ms [Sep 26 11:43:23] DTMF[6092]: channel.c:2372 __ast_read: DTMF begin emulation of '2' with duration 100 queued on SIP/2001-095df430 [Sep 26 11:43:23] DTMF[6092]: channel.c:2444 __ast_read: DTMF end emulation of '2' queued on SIP/2001-095df430 [Sep 26 11:43:24] DTMF[6092]: channel.c:2338 __ast_read: DTMF end '3' received on SIP/2001-095df430, duration 0 ms [Sep 26 11:43:24] DTMF[6092]: channel.c:2372 __ast_read: DTMF begin emulation of '3' with duration 100 queued on SIP/2001-095df430 [Sep 26 11:43:24] DTMF[6092]: channel.c:2444 __ast_read: DTMF end emulation of '3' queued on SIP/2001-095df430 -- Hungup 'Zap/1-1' == Spawn extension (from-sip, 3001, 1) exited non-zero on 'SIP/2001-095df430' |
Не работающий DTMF:
| Код: |
| -- parse_srv: SRV mapped to host proxy01.dal.us.icall.net, port 5060 -- Executing [6142955768@from-sip:1] Dial("SIP/cust_ark-095e0dd0", "Zap/g1/6142955768") in new stack -- Requested transfer capability: 0x00 - SPEECH -- Called g1/6142955768 -- Zap/1-1 is proceeding passing it to SIP/cust_ark-095e0dd0 -- Zap/1-1 is ringing -- Zap/1-1 answered SIP/cust_ark-095e0dd0 [Sep 26 11:44:55] DTMF[6103]: channel.c:2338 __ast_read: DTMF end '4' received on SIP/cust_ark-095e0dd0, duration 0 ms [Sep 26 11:44:55] DTMF[6103]: channel.c:2372 __ast_read: DTMF begin emulation of '4' with duration 100 queued on SIP/cust_ark-095e0dd0 -- Hungup 'Zap/1-1' == Spawn extension (from-sip, 6142955768, 1) exited non-zero on 'SIP/cust_arkadin-095e0dd0' |
Нажимал 1,2,3,4 -- дошло только 4.... и какое то кастрирование как ты говоришь...
Теперь вопрос.. Только не кидайте в меня палками потому как уже говорил - изучаю * 3 день... Для DTMF надо настроить провайдера чтоб в обе стороны можно было подсоеденятся.. т.е чтоб не только мне могли звонить.. но и я мог звонить? Потому что я пока настроил что только мне могут с наружи звонить... я наружу через SIP/cust_ark звонить не могу... не получается пока настроить...
2 вопрос - может файрволл обрезать DTMF?
Сегодня буду настраивать исходящие звонки... может поможет...
Да может кто знает провайдера у которого DTMF 100% работает.. может его попробывать? Оплата по кередит кард, пейпал...
[/code]
Там где неработающий dtmf в добавок ещё включить rtp debug и вывод с консоли в студию. Плюс бы еще посмотреть как описан провайдер в sip.conf
_________________
SuSE 10.1 / Asterisk-trunk / Celeron 1000 / chan_misdn (HFC)
Linksys PAP2T / SPA941 / SPA3102 / SPA2102
вот ради интереса кусок корректно работающего лога от другого провайдера:
| Код: |
| [Kclarabell*CLI> Sent RTP packet to 208.239.76.169:28032 (type 00, seq 000613, ts 477096, len 000160) [Kclarabell*CLI> Got RTP packet from 208.239.76.169:28032 (type 00, seq 003113, ts 476000, len 000160) [Kclarabell*CLI> Got RTP packet from 208.239.76.169:28032 (type 100, seq 003114, ts 476160, len 000004) Got RTP RFC2833 from 208.239.76.169:28032 (type 100, seq 003114, ts 476160, len 000004, mark 1, event 0000000a, end 0, duration 00000) [Sep 27 12:51:31] DEBUG[9860]: rtp.c:727 process_rfc2833: - RTP 2833 Event: 0000000a (len = 4) [Sep 27 12:51:31] DTMF[9860]: channel.c:2389 __ast_read: DTMF begin '*' received on SIP/3862000-09444548 [Sep 27 12:51:31] DEBUG[9860]: chan_zap.c:1048 zt_digit_begin: Started VLDTMF digit '*' [Kclarabell*CLI> Got RTP packet from 208.239.76.169:28032 (type 00, seq 003115, ts 476160, len 000160) [Kclarabell*CLI> Got RTP packet from 208.239.76.169:28032 (type 100, seq 003116, ts 476160, len 000004) Got RTP RFC2833 from 208.239.76.169:28032 (type 100, seq 003116, ts 476160, len 000004, mark 0, event 0000000a, end 0, duration 00080) [Sep 27 12:51:31] DEBUG[9860]: rtp.c:727 process_rfc2833: - RTP 2833 Event: 0000000a (len = 4) [Kclarabell*CLI> Got RTP packet from 208.239.76.169:28032 (type 100, seq 003117, ts 476160, len 000004) Got RTP RFC2833 from 208.239.76.169:28032 (type 100, seq 003117, ts 476160, len 000004, mark 0, event 0000000a, end 0, duration 00160) |
Будем теперь копать дальше...
На мое удивление сейчас работают оба провайдера... DTMF летают и передаются корректно. Чего поменялось:
1. Открыл все порты на фаерволе
2. Поставил nat=yes в sip.conf
3. Первый провайдер (с которым dtmf не работали) поменял у себя rfc2833-inband... потом обратно inband-rfc2833
Больше ничего не менялось.
Но как всегда есть одно НО...
В консоле я вообще не могу отловить ни один DTMF у старого провайдера... вот кусок лога:
| Код: |
| [Kclarabell*CLI> Sent RTP packet to 208.239.76.169:28032 (type 00, seq 064355, ts 186544, len 000160) [Kclarabell*CLI> Got RTP packet from 208.239.76.169:28032 (type 00, seq 001245, ts 185440, len 000160) [Kclarabell*CLI> Sent RTP packet to 208.239.76.169:28032 (type 00, seq 064356, ts 186704, len 000160) [Kclarabell*CLI> Got RTP packet from 208.239.76.169:28032 (type 00, seq 001246, ts 185600, len 000160) [Kclarabell*CLI> Sent RTP packet to 208.239.76.169:28032 (type 00, seq 064357, ts 186864, len 000160) [Kclarabell*CLI> Got RTP packet from 208.239.76.169:28032 (type 00, seq 001247, ts 185760, len 000160) [Kclarabell*CLI> Sent RTP packet to 208.239.76.169:28032 (type 00, seq 064358, ts 187024, len 000160) [Kclarabell*CLI> Got RTP packet from 208.239.76.169:28032 (type 00, seq 001248, ts 185920, len 000160) [Kclarabell*CLI> Sent RTP packet to 208.239.76.169:28032 (type 00, seq 064359, ts 187184, len 000160) |
Повторяюсь... DTMF доходят без проблем... но их не видно... у меня был включен dtmf и rtp debug... не видно их..
Кто может сказать почему...может есть какая команда еще о которой я не знаю...
Со вторым провайдером все нормально и DTMF лог корректный.. пример этого лога я выкладывал в предидущем посте...
У кого какие идеи?
_________________
SuSE 10.1 / Asterisk-trunk / Celeron 1000 / chan_misdn (HFC)
Linksys PAP2T / SPA941 / SPA3102 / SPA2102
| IgorG писал(а): |
| Есть только одно предположение: они у себя поставили inband, в астериске настроен rfc2833. В связи с этим dtmf проходит как бы транзитом в голосовом потоке, при этом астериск его не видит... |
Утверждают что стоит рфс2833... странно как-то.. не люблю я таких загадок... когда вдруг заработало... буду ломать дальше. У меня теперь с другим провайдером лажа... звонки через один доходят... один раз позвонишь - все ок... сразу после этого позвонишь - на * звонок доходит и потом срзау же сбивается... буду разбираться.
Я как уже говорил в этом деле новичек и делаю первые шаги.
Ну и еще раз спасибо за помощь.
| grizly1977 писал(а): |
| Я как уже говорил в этом деле новичек и делаю первые шаги. |
Ну, тогда это многое объясняет! И оправдывает?