03.19.10

asterisk transfer hook

Posted in pbx at 2:16 pm by viliar

Задача специфическая. У меня на работе при поступлении внешнего звонка нужно диффиренцировать, откуда он поступил и давать соответствующее сообщение тому, на кого попадает звонок. В этом приближении задача решается довольно просто, при помощи разных входящих контекстов или через анализ  ${SIP_HEADER(Record-Route)}. Но вот понадобилось диффиренцировать те звонки, которые идут через трансфер, не важно, blind или attended. Если опустить все сложности с поиском, то мне как и в прошлый раз помогла переменная TRANSFER_CONTEXТ, при помощи которой, в частности, сотрудники с мобильных телефонов могут безопасно переводить звонки на тех, кто в офисе. Вместо использования общего контекста для привилегированных пользователей создается отдельный контекст именно для трансфера с catch-all экстеншеном и вуаля:
[authxfer]
; Special hook on transfer
; include => authusers
exten => _.,1,NoOp(transfer)
exten => _.,n,Set(WARN=”ON”)
exten => _.,n,Set(WARNMSG=”msg/msg_transfer”)
exten => _.,n,Goto(authusers,${EXTEN},1)

Дальше звонок перебрасывается по назначению. Так что для трансфера можно не только свое сообщение забить, но и при необходимости выполнить еще какие-то действия. Судя по всему решений > 1, но меня вполне устраивает это.

P.S. Ну и да, это болванка, неплохо бы фильтровать символы и все такое, согласно README-SERIOUSLY.bestpractices.txt

01.15.10

asterisk versions.

Posted in pbx at 10:47 pm by viliar

Оказывается на сайте астериска, причем в весьма доступном месте, есть таблица с версиями астериска и сроками поддержки. И 1.4.x, которую мы используем, является не просто устаревшей версией ( уже есть три следующие ветки 1.6.0.20, 1.6.1.11, 1.6.2.0), аки mysql 4.1.x, а вполне себе единственным на данным момент релизом LTS (Long Term Service), который переживет практически всех “нубов”. Последний, впрочем, по поддержке переживет всего на несколько дней. Смотреть здесь.

Так что ждем окончания, а потом сразу на следующий LTS - 1.8.

03.25.09

Crackers.

Posted in web, pbx at 1:59 pm by viliar

Теперь(?) добрались и до VoIP. Сегодня отловил по логам такое:

[Mar 25 12:28:04] NOTICE[21675] chan_sip.c: Registration from ‘”0″‘ failed for ‘86.72.2.205′ - Not a local domain
[Mar 25 12:28:04] NOTICE[21675] chan_sip.c: Registration from ‘”1″‘ failed for ‘86.72.2.205′ - Not a local domain
[Mar 25 12:28:04] NOTICE[21675] chan_sip.c: Registration from ‘”2″‘ failed for ‘86.72.2.205′ - Not a local domain
[Mar 25 12:28:04] NOTICE[21675] chan_sip.c: Registration from ‘”3″‘ failed for ‘86.72.2.205′ - Not a local domain
[Mar 25 12:28:04] NOTICE[21675] chan_sip.c: Registration from ‘”4″‘ failed for ‘86.72.2.205′ - Not a local domain

[Mar 25 12:29:39] NOTICE[21675] chan_sip.c: Registration from ‘”9996″‘ failed for ‘86.72.2.205′ - Not a local domain

[Mar 25 12:29:39] NOTICE[21675] chan_sip.c: Registration from ‘”9997″‘ failed for ‘86.72.2.205′ - Not a local domain

[Mar 25 12:29:39] NOTICE[21675] chan_sip.c: Registration from ‘”9998″‘ failed for ‘86.72.2.205′ - Not a local domain
[Mar 25 12:29:39] NOTICE[21675] chan_sip.c: Registration from ‘”9999″‘ failed for ‘86.72.2.205′ - Not a local domain

Брут на регистрацию на астериске - это сильно.

15 queries. 0.263 seconds