Jump to content

Recommended Posts

Posted

оператор продает городские номера.

у него стоит cisco call manager

у меня шлюз на PC freebsd.

в локалке адреса естественно IP 192.168.

стоит задача установить в локалке Nе количество телефонов.

клиентам в локалку ставим Planet VIP-157S либо вообще софтфоны особо бедным.

варианта вижу 2:

 

1. устанавливаем чтото на freebsd.

оно должно регистрировать SIP телефоны.

маршрутизировать звонки (с города в локалку, по локалке, с локалки в город)

в идеале еще уметь делать транскодинг.

 

2. устанавливаем опять же чтото на freebsd.

SIP телефоны регистрируем напрямую на call manager оператора.

NAT могу включить

недостатки ясны - транскодинга не будет.

звонки по локалке будут регистрироваться на call manager-е

 

посоветуйте вот это чтото.

astresk тут сильно ругали. пробую разбираться с ser, но чтото мне кажется он для этой задачи не годится.

Posted

так вы сначала попробуйте asterisk ;)

 

насчет ser у меня смутные познания, кажется должен подойти, но транскодинг не умеет.

 

если хотите альтернативы asterisk - смотрите yate, freeswitch

Posted

yate - ошибка компиляции гдето в модулях.

детально не разбирался.

 

ser собрался. работает. регистрит телепоны.

только я не могу понять как он должен стыковаться с call manager

и как правильно организовать маршрутизацию звонков.

в документации есть про работу за NATом.

но мне кажется это не совсем то что нужно.

я бы хотел, чтобы клиентские фоны слали пакетики на freebsd.

а уже сам ser общался с калл манагером.

Posted

остановился на YATE

вопрос наверно к ram_scan

как то странно работает стык с call manager

yate поднимает линию

<sip:CALL> SIP line 'xxx' logon success to xxx.xxx.xxx.xxx:5060

звонки ходят

потом через какоето время тишина.

звонки с call manager не доходят

 

с документацией просто караул

как сделать - звонки со всех с екстеншнов по дефолту на sip line???

Posted (edited)

Уменьшить интервал регистрации на call manager'е. YaTE вываливается из регистрации видимо из-за слишком большого интервала. Там по дефолту что-то насколько мне промнится сильно много прописано.

 

Вообще для рутинга звонков можно пользовать что-нибудь в духе OpenSER или PartySIP. Оно попроще.

 

Второго вопроса не понял.

Edited by ram_scan
Posted
Уменьшить интервал регистрации на call manager'е. YaTE вываливается из регистрации видимо из-за слишком большого интервала. Там по дефолту что-то насколько мне промнится сильно много прописано.

а где это меняется?

 

Вообще для рутинга звонков можно пользовать что-нибудь в духе OpenSER или PartySIP. Оно попроще.

 

Второго вопроса не понял.

ser делает rtp forward через mediaproxy или еще чегото.

причем оно идет внешним модулем.

конфиг там тоже не подарок.

кроме того не смог сделать авторизацию из файла (regfile в yate)

оно обязом требует mysql или postgres. нафик надо.

 

второй вопрос простой -

как прописать маршрут с внутренного экстеншина xxx на ту линию, которая поднята на call manager

ну то есть чтоб все исходящие звонки от этого экстеншина шли на камм манагер

Posted

с отпадаем вроде разобрался

 

interval=120 в accfile.conf

 

кто объяснит внятно формат regexroute.conf

ничче не понимаю, как прописывать звонки по префиксу, а как по линии?

Posted (edited)

Тебе рутинг про ANI нужен чтоли ?

Вообще правильно это делается техническим префиксованием номера на эндпоинте. Но можно попытаться извернуться и сматчить по ANI звонки в разные контексты, а оттуда рутить по регэкспу ^\(.*\)$ на разные дестинэйшны. Я правда так не экспериментировал, нужды не было, но по идее сроялить должно. Там вообще навороченый механизм рутинга просто караул.

 

Что касается регистрации, то оно обязом никакой базы данных за собой не тянет.

[username]

password=secret

 

и вперед.

 

PS: я кстати изладил 726 и 723.1 кодеки под YaTE (gsm там был уже). Об 729 пока запнулся. То есть транскодить чота уже можно.

Edited by ram_scan
Posted

ram_scan

ты maillist читаешь ?

может у тебя мысли есть.

если ccm настроен sip trunk-ом, то звонок с него валит ЯТЬ как как алкоголик шифоньер. то же самое с Yate Windows Client

 

 

[New Thread 0x8053600 (LWP 100063)]

 

Program received signal SIGSEGV, Segmentation fault.

[switching to Thread 0x8053600 (LWP 100063)]

0x280c3896 in TelEngine::String::operator char const* (this=0x0) at yateclass.h:1365

1365 { return m_string; };

(gdb) bt

#0 0x280c3896 in TelEngine::String::operator char const* (this=0x0) at yateclass.h:1365

#1 0x2832d05a in YateSIPConnection (this=0x806a000, ev=0x8065f70, tr=0x8068100) at ysipchan.cpp:1623

#2 0x2832a5c0 in (anonymous namespace)::YateSIPEndPoint::invite (this=0x805cb80, e=0x8065f70, t=0x8068100)

at ysipchan.cpp:1356

#3 0x2832a1ea in (anonymous namespace)::YateSIPEndPoint::incoming (this=0x805cb80, e=0x8065f70, t=0x8068100)

at ysipchan.cpp:1298

#4 0x2832a11d in (anonymous namespace)::YateSIPEndPoint::run (this=0x805cb80) at ysipchan.cpp:1286

#5 0x280cc786 in TelEngine::ThreadPrivate::run (this=0x804a660) at Thread.cpp:281

#6 0x280ccce8 in TelEngine::ThreadPrivate::startFunc (arg=0x804a660) at Thread.cpp:438

#7 0x280883a5 in pthread_create () from /lib/libpthread.so.2

#8 0x282ae3df in _ctx_start () from /lib/libc.so.6

Posted (edited)

Блин первый раз такое чудо вижу. Версия какая ? Internal RTP отключено ?

 

PS: в irc почти постоянно онлайн даниела, одна из девелоперов YaTE. Можно ей вопрос задать. Я сталкивался с падением YaTE только в одном случае - включено internal rtp, работа по h323 и нет нужного кодека. Но это было связано с плюхой в openh323.

 

PPS: собери YaTE с опцией ddebug. Там будет отладка подробнейшая.

Edited by ram_scan
Posted

версию была из портов 1.1.0-3

только что собрал из cvs

отключил все модули, кроме ysipchan

вот что имеем:

 

<sip/1:ALL> YateSIPConnection::YateSIPConnection(0x8104650,0x80d7b80) [0x80f4000]

[New Thread 0x80ba200 (LWP 100084)]

 

Program received signal SIGSEGV, Segmentation fault.

[switching to Thread 0x80ba200 (LWP 100084)]

0x283cb860 in YateSIPConnection (this=0x80f4000, ev=0x8104650, tr=0x80d7b80) at yateclass.h:1365

1365 { return m_string; };

(gdb) bt

#0 0x283cb860 in YateSIPConnection (this=0x80f4000, ev=0x8104650, tr=0x80d7b80) at yateclass.h:1365

#1 0x283d7458 in (anonymous namespace)::YateSIPEndPoint::invite (this=0x80aad00, e=0x8104650, t=0x80d7b80)

at ysipchan.cpp:1357

#2 0x283d7635 in (anonymous namespace)::YateSIPEndPoint::incoming (this=0x80aad00, e=0x8104650, t=0x80d7b80)

at ysipchan.cpp:1299

#3 0x283d8ee8 in (anonymous namespace)::YateSIPEndPoint::run (this=0x80aad00) at yatesip.h:929

#4 0x280c511d in TelEngine::ThreadPrivate::run (this=0x80a95a0) at Thread.cpp:281

#5 0x280c514f in TelEngine::ThreadPrivate::startFunc (arg=0x80a95a0) at Thread.cpp:438

#6 0x280883a5 in pthread_create () from /lib/libpthread.so.2

#7 0x2829b3df in _ctx_start () from /lib/libc.so.6

 

капец

Posted

это как раз уже собраная с debug

Diane писал

пока нет ответа

 

а ты на чем работаешь?

на Линуксе этот баг не проявляется, только что проверяли - сборка cvs

но виндовый клиент у меня точно падал.

Posted

Надо собирать не с debug а с ddebug. С debug собирается просто с debuginfo, с ddebug с дебагинфо и расширенным логингом, с ndebug с профайлером. Она с ddebug достаточно внятный program flow дает, особенно при максимальном verbose. Информации можно почерпнуть больше чем из бэктрэйса. А диану надо ловить именно на irc.

 

У меня debian-sarge с ванильным ядром 2.6.17.6 и YaTE 1.1.0 собраная просто из сорцов, последняя стэйбл. Падений пока не наблюдается. Правда надо сказать, что она у меня "наполовину в продакшне". То есть пока я к ней плагины девелоплю и тесчю она в продакшне не стоит, чисто для внутренних нужд, но стресс тесты я ей устраиваю регулярно. На одном из тестовых сервачков аптайм на ней за 45 суток перевалил уже.

 

PS: кстати 726 и 723.1 кодеки я вроде как в первом приближении отладил. Правда 723.1 остался по большей части референцный, перепахивать еще надо. Если у кого желание есть - патчи запрашивайте и тестируйте.

Posted

кино и немцы

собрал 1.0.0-1

не падает.

но никого не ригистрит и звонки не принимает.

тупо на любое SIP сообщение пишет в лог

<ALL> Invalid SIP line 'REGISTER sip:xxx.xxx.xxx.xxx SIP/2.0'

и молчит в ответ.

что ей сказать???????

Posted

да не собирается cvs с ddebug хоть тресни

я уже 0.9 собрал - таже фигня

<ALL> Invalid SIP line 'REGISTER sip:xxx.xxx.xxx.xxx SIP/2.0'

 

что это за line и где ее указать??

 

замучило оно меня, пойду SER ковырять.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.