Настраивал связку * и kamailio по инструкции
правда с небольшим отступлением - kamailio и * находятся на разных серверах, соединены между собой через openvpn, таблица sipusers находится прямо в базе openser на kamailio и просто синхронизирована с базой *
адресация такая
10.10.2.2 - openvpn.asterisk
10.10.2.10 - openvpn.kamailio
192.168.0.1 - внутренний адрес kamailio
192.168.0.50 - адрес sip-клиента
Воткнулся вот на чем пользователь регистрируется на kamailio (появляется запись в openser.location), далее kamailio перекидывает регистрацию от своего имени на *
вот дамп с астериска при регистрации клиента
<--- SIP read from UDP:10.10.2.10:5060 --->
REGISTER sip:10.10.2.2:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.1;branch=z9hG4bKda92.9a1e2bc1.0
To: sip:user1@10.10.2.2
From: sip:user1@10.10.2.2;tag=533cb9e91f4b999cf76861cbb9ed54ed-49f0
CSeq: 10 REGISTER
Call-ID: 77ffdffc-5520@127.0.0.1
Content-Length: 0
User-Agent: kamailio (3.3.4 (i386/linux))
Contact: <sip:user1@10.10.2.10:5060>
Expires: 3600
<------------->
--- (10 headers 0 lines) ---
Sending to 10.10.2.10:5060 (no NAT)
<--- Transmitting (NAT) to 10.10.2.10:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.0.1;branch=z9hG4bKda92.9a1e2bc1.0;received=10.10.2.10;rport=5060
From: sip:user1@10.10.2.2;tag=533cb9e91f4b999cf76861cbb9ed54ed-49f0
To: sip:user1@10.10.2.2;tag=as14b5e56d
Call-ID: 77ffdffc-5520@127.0.0.1
CSeq: 10 REGISTER
Server: Asterisk 1.8
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="6922a08d"
Content-Length: 0
<------------>
Scheduling destruction of SIP dialog '77ffdffc-5520@127.0.0.1' in 32000 ms (Method: REGISTER)
с софтфона успешно делаем любые наборы, кроме себя любимого. Оказывается на * регистрация отсутствует
Решение: надо поле secret выставить в null
Теперь другая беда
прошу еще помощи.
проблем с регистрацией пользователей из локалки (192.168.0.0/24) нет
tcpdump выдает нормальный диалог
00:57:14.849029 IP 10.10.2.10.6000 > 10.10.2.2.sip: SIP, length: 364
00:57:14.855616 IP 10.10.2.2.sip > 10.10.2.10.6000: SIP, length: 482
а вот при попытке зарегаться через внешний интерфейс
дамп в вот такой
01:00:53.754497 IP 10.10.20.x.6000 > 10.10.2.2.sip: SIP, length: 365
01:00:53.879495 IP 10.10.20.x.6000 > 10.10.2.2.sip: SIP, length: 367
01:00:57.629493 IP 10.10.20.x.6000 > 10.10.2.2.sip: SIP, length: 368
01:00:57.754497 IP 10.10.20.x.6000 > 10.10.2.2.sip: SIP, length: 365
01:00:57.879495 IP 10.10.20.x.6000 > 10.10.2.2.sip: SIP, length: 367
где 10.10.20.x - внешний ip kamailio т.е. kamailio переправляет пакеты в туннель указывая не свой туннельный ip, а свой внешний ip
при этом регистрация на kamailio проходит, а вот астериск такого финта уже не понимает и пытается вернуть ответ на 10.10.20.x.6000
Спасибо за подсказку. Решение: поднял rtpproxy В конфиге kamailio прописал
#!define WITH_NAT
mhomed=1
max_expiry=600
Раз уж все так замечательно получается - хочу повысить безопасность, а именно сейчас пользователи имею логины вида
userXXX..., где XXX числа
вопрос - можно-ли сделать, чтобы регистрация на kamailio происходила по логинам
aADasQEqw-userXXX
а в астериск уже пробрасывалась как userXXX
дык а пароль не пробывали передавать в REGISTER... ?
Задан: 2013-04-02 20:33:35 +0400
Просмотрен: 3,037 раз
Обновлен: Apr 05 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
про 2: прочитать про kamailio mhomed
komrad123 ( 2013-04-04 11:02:14 +0400 )редактироватьmhomed конфигурации создают нереально много проблем. ибо их никто не тестит при version change. вобщем если есть возможность убрать както multihomed - лучше этим шансом воспользоватся. честно говоря даже nated конфигурация kamailio(только на внутреннем адресе, с внешнего адреса делаете nat на внутренний) гараздо менее проблемная.
meral ( 2013-04-05 05:10:43 +0400 )редактироватьу меня две три точки входа - влан, vpn, внешний мир. получится без multihomed ?
neiroman2k ( 2013-04-05 10:04:01 +0400 )редактироватьхз. попробуйте. всегда можно нат сделать.
meral ( 2013-04-05 12:20:27 +0400 )редактировать> mhomed конфигурации создают нереально много проблем. пруф можно ? или это конкретно для Вас нереально много проблем создает ?
komrad123 ( 2013-04-05 13:08:00 +0400 )редактироватьbye на них некоректно работает. topology hiding не работает. fixnatedcontact работает криво если у вас что кроме совсем тривльных схем(больше одного роута или есть переписывание пакета).
meral ( 2013-04-05 14:04:24 +0400 )редактироватьгм, topology hiding не используем, для fixnatedcontact для разных интефейсов флаги раные ставили и оно вроде живет уже как год в проде. про бай вообще не понятно что у Вас там может не работать.
komrad123 ( 2013-04-08 12:00:57 +0400 )редактироватьну я за вас рад, че. значит вы не переписываете пакеты.
meral ( 2013-04-08 12:53:34 +0400 )редактироватьПоставил kamailio+rtpproxy за нат. Изнутри клиенты регистрируются. Для внешних сделал portforward на kamailio. При попытке регистрации получаю "SIP/2.0 403 Not relaying". Помогите плз - что ему еще надо выкрутить ?
neiroman2k ( 2013-04-10 02:57:03 +0400 )редактироватьвам надо добавить alias=external_p
meral ( 2013-04-10 10:26:16 +0400 )редактировать