Организация звонков с SIP to H323
Помогите новичку
|
Откуда: Kostroma
Сообщений: 19
|
Организация звонков с SIP to H323
Добрый день.
Я новичок в IP телефонии. Помогите пжл в реализации задачи: Необходимо чтобы местные SIP юзеры звонили "наружу" по H323. сервер имеет 2 сетевых eth интефейса - локальный и внешний. По внешнему идет привязка к внешнему шлюзу по h323.
" H323 faststart там схема без гейткипера, просто шлюз без пароля, с этого ip
фактически надо сделать dial-peer на этот ip для всех префиксов."
оба сетевых интефейса работают правильно ( я считаю)
на сервере прописан статический маршрут на внешний шлюз через нужный интерфейс.
при осуществении вызова с местного sip клиента идет минутная пауза, потом длинные гудки (КПВ), появляется звонок на адресате. но при поднятии трубки на нем - тишина.
вы
мой extensions.conf
[general]
static = yes
writeprotect = no
autofallthrough = yes
clearglobalvars = no
priorityjumping = no
disallow = all
allow = ulaw
allow = alaw
allow = g729
[globals]
[default]
exten => 6050,1,VoiceMailMain
exten => _XXXXXXXXXXX,1, Dial(H323/${EXTEN}@80.249.130.14)
exten => _XXXXXXXXXXXX,1, Dial(H323/${EXTEN}@80.249.130.14)
h323.conf
[general]
listenAddress=10.200.0.147
fastStart=yes
inBandDTMF=yes
gatekeeper=DISABLE
context=default
disallow=all
allow=ulaw
allow=alaw
allow=g729
;type=peer
[80.249.130.14]
faststart=yes
context=default
type=peer
host=80.249.130.14
port=1720
disallow=all
allow=g729
canreinvite=no
dtmfmode=rfc2833
вот что валится в debug
[Sep 11 10:38:18] DEBUG[7044] chan_h323.c: type=H323, format=4, data=18005536387@80.249.130.14.
[Sep 11 10:38:18] DEBUG[7044] chan_h323.c: Extension: 18005536387 Host: 80.249.130.14
[Sep 11 10:38:18] DEBUG[7044] chan_h323.c: Calling to 18005536387@80.249.130.14 on H323/80.249.130.14-35
[Sep 11 10:38:18] DEBUG[7044] chan_h323.c: Placing outgoing call to 18005536387@80.249.130.14:1720, 101
[Sep 11 10:39:38] DEBUG[7045] chan_h323.c: Setting capabilities for connection ip$localhost/32036
[Sep 11 10:39:38] DEBUG[7045] chan_h323.c: Capabilities for connection ip$localhost/32036 is set
[Sep 11 10:39:38] DEBUG[7045] chan_h323.c: Created RTP channel
[Sep 11 10:39:38] DEBUG[7045] chan_h323.c: Setting NAT on RTP to 0
[Sep 11 10:39:38] DEBUG[7045] chan_h323.c: Sending RTP 'US' 127.0.0.1:14632
[Sep 11 10:39:38] DEBUG[7045] chan_h323.c: Sending RTP 'US' 127.0.0.1:14632
[Sep 11 10:39:38] DEBUG[7045] chan_h323.c: Sending RTP 'US' 127.0.0.1:14632
[Sep 11 10:39:38] DEBUG[7045] chan_h323.c: Sending RTP 'US' 127.0.0.1:14632
[Sep 11 10:39:41] DEBUG[7045] chan_h323.c: Received ALERT/PROGRESS message for inband tones
[Sep 11 10:39:42] DEBUG[7045] chan_h323.c: Got remote capabilities from connection ip$localhost/32036
[Sep 11 10:39:42] DEBUG[7045] chan_h323.c: prefs[0]=g729:40
[Sep 11 10:39:42] DEBUG[7045] chan_h323.c: prefs[1]=g723:60
[Sep 11 10:39:42] DEBUG[7045] chan_h323.c: Sending RTP 'US' 127.0.0.1:14632
[Sep 11 10:39:42] DEBUG[7045] chan_h323.c: Call ip$localhost/32036 answered
[Sep 11 10:39:42] DEBUG[7045] chan_h323.c: Sending RTP 'US' 127.0.0.1:14632
[Sep 11 10:39:42] DEBUG[7045] chan_h323.c: Setting up RTP connection for ip$localhost/32036
[Sep 11 10:39:42] DEBUG[7045] chan_h323.c: Native format is set to 256 from 256 by RTP payload type 18
[Sep 11 10:39:42] DEBUG[7045] chan_h323.c: RTP connection prepared for ip$localhost/32036
[Sep 11 10:39:42] DEBUG[7044] rtp.c: RTP Transmission error of packet 25490 to 80.249.130.4:18190: Invalid argument
[Sep 11 10:39:42] DEBUG[7044] rtp.c: RTP Transmission error of packet 25491 to 80.249.130.4:18190: Invalid argument
[Sep 11 10:39:42] DEBUG[7044] rtp.c: RTP Transmission error of packet 25492 to 80.249.130.4:18190: Invalid argument
[Sep 11 10:39:42] DEBUG[7044] rtp.c: RTP Transmission error of packet 25493 to 80.249.130.4:18190: Invalid argument
[Sep 11 10:39:43] DEBUG[7044] rtp.c: RTP Transmission error of packet 25494 to 80.249.130.4:18190: Invalid argument
[Sep 11 10:39:43] DEBUG[7044] rtp.c: RTP Transmission error of packet 25495 to 80.249.130.4:18190: Invalid argument
[Sep 11 10:39:43] DEBUG[7045] chan_h323.c: Setting up RTP connection for ip$localhost/32036
[Sep 11 10:39:43] DEBUG[7045] chan_h323.c: Native format is set to 256 from 256 by RTP payload type 18
[Sep 11 10:39:43] DEBUG[7045] chan_h323.c: RTP connection prepared for ip$localhost/32036
[Sep 11 10:39:43] DEBUG[7045] chan_h323.c: Setting up RTP connection for ip$localhost/32036
[Sep 11 10:39:43] DEBUG[7045] chan_h323.c: Native format is set to 256 from 256 by RTP payload type 18
[Sep 11 10:39:43] DEBUG[7045] chan_h323.c: RTP connection prepared for ip$localhost/32036
[Sep 11 10:39:43] DEBUG[7044] rtp.c: RTP Transmission error of packet 25496 to 80.249.130.4:18190: Invalid argument
----------------------------------------------------------------------------------------------------------------
[Sep 11 10:39:53] DEBUG[7044] rtp.c: RTP Transmission error of packet 25749 to 80.249.130.4:18190: Invalid argument
[Sep 11 10:39:53] DEBUG[7044] rtp.c: RTP Transmission error of packet 25750 to 80.249.130.4:18190: Invalid argument
[Sep 11 10:39:53] DEBUG[7044] rtp.c: RTP Transmission error of packet 25751 to 80.249.130.4:18190: Invalid argument
[Sep 11 10:39:53] DEBUG[7044] rtp.c: RTP Transmission error of packet 25752 to 80.249.130.4:18190: Invalid argument
[Sep 11 10:39:53] DEBUG[7044] chan_h323.c: Hanging up and scheduling destroy of call H323/80.249.130.14-35
[Sep 11 10:39:53] DEBUG[4881] chan_h323.c: Cleaning connection to ip$localhost/32036
[Sep 11 10:39:53] DEBUG[4881] chan_h323.c: No connection for ip$localhost/32036
|
|
Сообщений: 6521
|
Re: Организация звонков с SIP to H323
1) Если по внешнему идет привязка к внешнему шлюзу по h323 то h323.conf
[general]
listenAddress=10.200.0.147 - должно быть что то внешнее, типа 80.249.130.4
2) Секция
[80.249.130.14]
faststart=yes
context=default
type=peer
host=80.249.130.14
port=1720
disallow=all
allow=g729
canreinvite=no
dtmfmode=rfc2833
является определяющей для соединений от Н.323 шлюза на Астериск, а не наоборот.
Наоборот, звонки из Астериск в мир через шлюз должны быть заданы строкой вызова
exten => _X.,1,Dial(OOH323/${EXTEN}@80.249.130.14
|
|
Откуда: Kostroma
Сообщений: 19
|
Re: Организация звонков с SIP to H323
да спасибо.
надо было bindaddr указать
|
|
Сообщений: 3
|
Re: Организация звонков с SIP to H323
Ded, ты не прав /listenAddress=10.200.0.147 - должно быть что то внешнее, типа 80.249.130.4/ здесь нужен адрес Астериска, а внешний прописываеться в пире.
|
|
Сообщений: 3
|
Re: Организация звонков с SIP to H323
Major посмотри есть ли в * кодек g729
|
|
Сообщений: 6521
|
Re: Организация звонков с SIP to H323
Четаем вынимательно: Major: сервер имеет 2 сетевых eth интефейса - локальный и внешний. По внешнему идет привязка к внешнему шлюзу по h323.
Я и представить не могу, что кто-то вздумает использовать Астериск с Н.323 на внутренних адресах, чтобы уморочиться в НАТ на Н.323. Я предлагал и предлагаю если есть хоть малейшая возможность - ставить Астериск на реальный ИП адрес (галактеко опасносте! Риальне!), вот почему пишу внешнее, и, если нужно, впаивать в него вторую карту на внутреннюю сетку. Эта модель носит название Media Gateway, через него предлагается не весь трафик гнать, а только голос.
|
|
Сообщений: 1530
|
Re: Организация звонков с SIP to H323
andrewspan: Ded, ты не прав /listenAddress=10.200.0.147 - должно быть что то внешнее, типа 80.249.130.4/ здесь нужен адрес Астериска, а внешний прописываеться в пире.
Предлагаю вначале попробовать. ;)
chan_h323 втупую пишет bindaddr (откуда listenAddress, о какой реализации h323 идет речь?). Пропишите 0.0.0.0 -- будет писать 0.0.0.0 ;)
|
|
Сообщений: 7
|
Re: Организация звонков с SIP to H323
Помогите и мне:
У меня задача аналогичная:
1. Есть местные юзеры sip (x-lite) (они звонят друг другу все отлично)
2. asterisk должен подключится к гейткиперу (192.168.20.1) и пропускать sip-to-h323 (не работает) и обрано h323-to-sip (залетают аж бегом)
extensions.conf
оставил все как было, только дописал свои екшены
exten => 3109,1, Answer
exten => 3109,2, Dial(SIP/3109,40)
exten => 3109,3, Playback(vm-nobodyavail)
exten => 3109,4, Hangup
exten => _X.,1, Dial(OOH323/${EXTEN}@192.168.20.1)
ooh323.conf
[general]
port=1720
bindaddr=192.168.24.177
gateway=yes
faststart=no
mediawaitforconnect=yes
h323id=***
e164=100
callerid=***
gatekeeper = 192.168.20.1
logfile=/var/log/asterisk/ooh323_log
disallow=all ;Note order of disallow/allow is important.
allow=g723
allow=ulaw
allow=gsm
allow=alaw
dtmfmode=rfc2833
[192.168.20.1]
context=x-lite
type=peer
host=192.168.20.1
;port=1720
disallow=all
allow=g723
allow=gsm
allow=ulaw
allow=alaw
freebsd8_test2*CLI>
-- Executing [3103@x-lite:1] Dial("SIP/3109-2a4fe014", OOH323/3103@192.168.20.1") in new stack
-- Called 3103@192.168.20.1
== Everyone is busy/congested at this time (1:0/0/1)
-- Auto fallthrough, channel 'SIP/3109-2a4fe014' status is 'CHANUNAVAIL'
|
|
Сообщений: 6521
|
Re: Организация звонков с SIP to H323
1) На гейткипере можно выяснить: зарегистрировался Астериск (как шлюз) или нет,
2) Для передачи звонков на гейткипер нужно использовать синтаксис
Dial(OOH323/${EXTEN})
то есть все звонки передаём в канал, который их все передаёт гейткиперу.
Который тоже может отбортовать, если алиас 3103 не зарегистрирован, к примеру.
Dial("SIP/3109-2a4fe014", OOH323/3103@192.168.20.1") -это чегой то мне совсем не понятно. Экстеншн SIP/3109 звонит экстеншну 3103 который H323? Не лучше ли разделить диал план поровней?
|
|
Сообщений: 7
|
Re: Организация звонков с SIP to H323
Говарил с тамошним админом, астериск зарегился, да и звонки от него мне проходят, отличная передача голоса в обе стороны.
С диалпланом, так истарически сложилось, у нас в офисе есть addpac на 8 номеров (3101-3108), мне как задачу дали завести на астериске доп номера (3109-31хх). Предлагал купить железку сказали денег нет, но намера нужны. Между собой связь 3101-3108 и 3109-31хх через этот самый гейткипер.
exten => _X.,1, Dial(OOH323/${EXTEN}@192.168.20.1) вроде правильный вызов, не каних опесаний больше не нужно для исходящего звонка ? (изучаю астериск только 3 день, но мозги кипят:) )
и меня смущает
== Everyone is busy/congested at this time (1:0/0/1) -это насколько я понимаю тот самый сигнал занято, который я слышу когда набераю любой номер? Как бы опеределить его причину, где смотреть
|
|