Как стать автором
Обновить

Комментарии 12

А не проще использовать «sendrpid = yes»?
Хотя он не всеми телефонами поддерживается.
Интересный параметр, честно как то даже не приходилось его применять, завтра попробую проверить. А так есть мысли, не много доработать выше описанный метод и отправлять уведомление тому у кого вызов был перехвачен. Выше я опустил момент, точнее намерено вырезал из контекста — при до наборе внутреннего номера, идет проверка входящего CALLER_ID в базе, при его наличии в jabber отправляется доп. информация о звонящем.
тогда понятно.
У меня была такая проблема, и я уже начал думать о оповещении в jabber или почту, но добрые люди подсказали вот этот параметр. Теперь при перехвате отображается верный номер. НО, есть отзывы что некоторые телефоны просто виснут когда им его астериск передает, у меня на практике такого не было cisco spa502g его поддерживают, а вот simens gigaset просто игнорируют.
Ну думаю данный метод будет интересен, когда используется голосовой шлюз и обычный аналоговый телефон. А так действительно, одной строчкой решилась проблема. Как говорится век живи — век учись.
Объясните, пожалуйста, зачем нужен параметр sendrpid на пальцах?

Defines whether a Remote-Party-ID SIP header should be sent. Defaults to no.
This field is often used by wholesale VoIP providers to provide calling party identity regardless of the privacy settings (the From SIP header).
В sip-заголовках (INVITE (при входящем вызове), 200ОК (при перехвате)), добавляется поле Remote-Party-ID, в зависимости от модели (и прошивки) телефонного аппарата, он может поверять данные в этом поле, если нет то берет его из поля From (если не ошибаюсь).
Вопрос по смежной теме — почему odbc коннектор не используете?
Как раз сегодня утром пока ехал на работу, прочитал статью товарища albertxyc. Я так понял, с помощью odbc коннектор, мы избавимся от постоянных коннектов в базе, что должно положительно повлиять на работу системы в целом. Думаю на грядущих выходных попробую реализовать. А так знакомство с mysql у меня началось буквально неделю назад, начал читать книгу А. Бьюли «Изучаем sql».
Именно. Более того — там можно делать шаблонные функции и передавать параметры им как в макросах диалпланов. в общем очень удобно. Хотя при использовании lua диалплана, например, более удобно работать с коннектором mysql для lua, так как с odbc коннетором существуют некоторые проблемы.
Добавил сегодня параметр sendrpid=yes. По совету EvilMause. Протестировал на 2 аппаратах cisco spa942 и 502g, все работает.
tcpdump'ом проверил, что передается в sip заголовках, добавился параметр Remote-Party-ID.
Посмотрел в вики на asterisk.ru про параметр sendrpid: Отправлять или нет заголовок Remote-Party-Id этому SIP клиенту. Значения: yes/no, по умолчанию: yes.
старайтесь использовать не asterisk.ru как wiki, а wiki.asterisk.org. Там более свежая инфа. Ну это так. Лирика.
В версии 1,8 значение по умолчанию было «no». Иначе у меня вовсе не возникло бы проблемы, но так даже лучше получилось.
Единственное, я так и не смог потом выключить эту функцию, rpid все равно передавался. Видно какой то глюк на моей системе был.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории