• Как показать карточку клиента при входящем звонке?

    @Gansterito
    Третий вариант - взять номер по SIP без функционала ВАТС, приземлить на свою IP АТС (Asterisk и т.д.)
    Тот факт, что у Вас самописная CRM означает, что готовых решений по интеграции с ней не будет ни у кого, а значит всё придется делать самим. В этом случае все-таки удобней когда всё под вашим контролем - и IP АТС, и CRM.
    Можете работать с Asterisk через AMI и не зависеть от API сторонних сервисов.
    Ответ написан
  • Как sip софтфон узнает ip-адрес устройства, на котором установлен?

    @Gansterito
    > или софтфон вообще сам не выполняет запросов на определение ip
    Софтфон должен знать свой IP. Если не считать IP-адреса в заголовке IP-пакета, то еще он встречается в заголовке Contact и в SDP. Что касается IP-пакета, тут все просто - пакет идет с тем source ip, какой висит на исходящем интерфейсе в сторону сервера регистрации, если жестко не задан другой адрес. Адрес в Contact - тут сложней. В справочнике сказано - "Агент пользователя не должен передавать новых сообщений регистрации (запросов, содержащих новых сообщений в заголовке Contact), пока не получит окончательный ответ от сервера регистрации на предыдущий запрос...". Еще: "Запрос Register может включать в себя заголовок Contact, содержащий ноль или более контактых адресов.".
    Какие тут могут быть варианты:
    1) SIP-клиент шлет несколько REGISTER-пакетов с разными адресами в Contact, пока не пройдет регистрация.
    2) SIP-клиент шлет один REGISTER-пакет с несколькими адресами в заголовке Contact.
    Видимо, зависит от реализации клиента.

    Если на пути между клиентом и сервером стоит NAT с функционалом SIP ALG, то заголовок Contact будет подвержен изменению в соответствии с логикой работы этого самого SIP ALG.

    Для определения адреса за NAT (а также тип NAT) SIP-клиент может использовать STUN-сервер (SIP ALG в этом случае уже не нужен и даже может мешать). В этом случае заголовок Contact будет сформирован без локального адреса, а сразу с публичным IP-адресом и портом.
    Ответ написан
    2 комментария
  • Почему перестают работать переходник usb-ttl при прошивании роутера tl-mr3020 через ttl?

    @Gansterito
    Греться должен, но не сильно. Возможно, что у Вас КЗ по TX.
    Может быть поэтому и не удается ввести tpl - все что вы вводите не доходит до железки.
    Оставьте только RX и посмотрите что поменяется - будет ли греться, отвалится ли ttyUSB0.
    Ответ написан
    Комментировать
  • Как вырезать прошивку и бутлодер из дампа?

    @Gansterito
    Наверное, Вам нужен firmware mod kit.
    В составе есть binwalk, который по сигнатурам найдет что есть что, и куча разные версий "экстракторов" для разных ФС. Сам распакует всё что сможет (обычно - rootfs), сам запакует (после ваших изменений), если захотите.
    Ответ написан
    Комментировать
  • Как разделить входящий трафик по портам на mikrotik?

    @Gansterito
    Такое разделение чревато. Если разделять по портам удаленного сервера, то запрос на 80ый порт может придти с одного IP (через первый канал), а на 443 - с другого (второй канал). Если брать локальные порты - аналогично, с одного локального ПК может быть установлено две TCP-сессии с одним и тем же сервером, но с разных адресов. Что-то может пойти не так, особенно, если cookie на сайте привязываются к IP-адресам.
    Альтернативные варианты - разделить "весь интернет" (0.0.0.0/0) на две почти равные части - 0.0.0.0/1 и 128.0.0.0/1, и смаршрутизировать их через разных провайдеров.
    Ответ написан
    1 комментарий
  • Что это за раритетный компьютер?

    @Gansterito
    Это Пентагон с контроллером параллельного порта (ВВ55) и дисковода (ВГ93).
    Модель (48 vs 128) можно посчитать по количеству микросхем ОЗУ (565ру5).
    s0.jpg
    Не выкидывайте, а продайте. Ценителей таких штук полно.
    А еще лучше - попробуйте оживить.
    Ответ написан
    2 комментария
  • Как ограничить входящий трафик?

    @Gansterito
    Можно попробовать через модуль hashlimit с hashlimit-mode=srcip,srcport. Этот параметр поможет выполнить условие лимит на коннект.
    Но, мне кажется, что правильней держать черные и белые списки на ipset.
    Ответ написан
    1 комментарий
  • Как пойдет трафик если много адресов на карте?

    @Gansterito
    Source-адрес будет выбран по умолчанию с того интерфейса, через который идет маршрут до нужного узла.
    Если на интерфейсе несколько IP-адресов, то берется тот, что первый (primary).
    Если в используемой программе есть возможность указать IP-адрес источника запросов, то с этого адреса и пойдут IP-пакеты.
    Утилита чтобы посмотреть трафик - tcpdump (linux, freebsd), wireshark (linux, windows).
    Ответ написан
    Комментировать
  • Как в NETGEAR Router EVG1500 (от Дом.ру) сделать автоматическую перезагрузку модема?

    @Gansterito
    А для чего Вам это? Что-то "подвисает" или хотите периодически менять IP-адрес?
    Посмотрите какие команды есть в меню "cmd". Если там стандартный unix shell, то сгодится команда reboot (или shutdown -r now). Если там все-таки меню, то полазайте в нем, поищите подходящую команду.
    Автоматизация выполнения скриптов telnet в Windows возможна, например, через Windows Script Host, примеры в интернете есть.
    Ответ написан
  • Asterisk Playback?

    @Gansterito
    Могу предложить два варианта:
    1) Хеш-функция от переменной UniqueueID. Функция должна выдавать значение от 1 до 20 (или сколько у Вас там). Как эту функциою написать - другая задача, но тут возможны коллизии, когда один файл может повториться более одного раза.
    2) Установка каждому вызову SET(GROUP()=mygroup), а затем проигрывание файла ${GROUP_COUNT(mygroup)}.wav. Это почти такой же вариант как от предыдущего комментатора, но без глобальной переменной, а через группу. Гарантирует уникальность проигрываемого одновременно файла.
    Ответ написан
    Комментировать
  • Актуален ли сейчас asterisk и voip в целом?

    @Gansterito
    Не совсем понятно что подразумевается под "разработчиком". Если это программист на С, пишущий модули или закрывающий баги в *, то это одно направление. Если это программист на Python/Perl/etc, пишущий систему, взаимодействующую с * через AMI/AGI/ARI - другое. Если это человек, пишуший кОнфиг к * ручками, оптимизирующий его работу - третье.
    В любом случае, войдя в направление "телефония" придется самостоятельно расширять свой кругозор, расти. А там уже будут новые горизонты - "highload", масштабируемые решения и т.д.
    Возможно, потребуются глубокие знания SIP (справочник Гольдштейна в помощь) и других телефонных протоколов - PRI, SS7 и т.д.
    Ответ написан
  • Как передать номер CID в внешнюю систему?

    @Gansterito
    Не совсем понятно в какой момент (с привязкой к какому событию) необходимо передавать пакет сторонней системе.
    Если важен только факт вызова (не важно отвечен или нет), то достаточно сделать как в примере выше - system на неблокирующий скрипт. Может быть, перед System поставить Ringing, чтобы КПВ уже ушел звонящему абоненту.
    Если важен факт ответа (и другие параметры - длительность вызова и т.д.), то System нужно вешать на событие Hangup, которое сгенерируется после окончания разговора.
    Если важен момент ответа, то нужно колдовать с флагом G команды Dial.
    Ответ написан
  • Почему может рваться связь?

    @Gansterito
    Заходите на S20 по SSH, там запускайте 2 экземпляра tcpdump - на внешний интерфейс в сторону оператора и на внутренний, в сторону телефонов. Примерно так: tcpdump -i eth0 -n -s0 -w /tmp/dump-eth0.pcap
    Еще желательно запустить asterisk -rvvvvv для сбора данных из консоли. На всякий случай.

    Далее, делаете тестовый вызов, ждете "обрыва" через 186 секунд. Прерываете tcpdump, загружаете себе на декстоп оба дампа, открываете оба уже упомянутым выше Wireshark-ом, смотрите что происходило (меню Telephony - Sip flows сильно поможет).

    Вопрос "по времени" - 186 секунд многовато, чтобы не соответствовать каким-то таймингам SIP-а на прерывание разговора. Обычно 15 или 30 секунд - потерялся "ACK". А 186 - скорее где-то ошибочно выставляется длительность звонка. Может быть NAT теряет "трансляцию", но тогда прерывался бы голос (RTP), а сам вызов продолжался бы.
    Ответ написан
    Комментировать
  • Огромное количество запросов Who has в wireshark?

    @Gansterito
    Можно предложить три варианта:
    1) Сам роутер Zyxel актуализирует список занятых устройств (включенных, например, мимо DHCP);
    2) Кто-то за пределами роутера пытается "достучаться" до ваших внутренних адресов;
    3) Кто-то изнутри роутера (а там внутри Linux со всем окружением + shell) пытается найти что-либо для своего дальнейшего "проникновения" и "закрепления" на вашей сети.

    За последние пару дней слышал о какой-то аномальной активности абонентов с роутерами Zyxel, однако, подтверждения этому не было. На всякий случай отключите роутер от внешней сети, посмотрите на активность. Можно сбросить к заводским настройкам, обновить прошивку до последней и, не подключая к сети, проверить наличие who has запросов. Но это уже на любителя.
    Ответ написан
  • Как запретить хождение пакетов DHCP в интерфейс EoIP mikrotik?

    @Gansterito
    А в чем проблема?
    У вас EoIP включен в какой-то Bridge? Тогда в этом Bridge нужно включить файрвол (Bridge - Settings - Use IP Firewall), а затем на Bridge - Filters добавить запрещающие правила для MAC-протокола IP, Protocol UDP, Dst. port 67.
    Ответ написан
    3 комментария
  • Как выбрать wi-fi роутер для офиса?

    @Gansterito
    Несколько Mikrotik с CAPsMAN.
    Ответ написан
    Комментировать
  • При подключении контроллера к компьютеру пишет что COM порт занят?

    @Gansterito
    А uart-usb нормально работает? Может быть драйвер встал криво?
    Можно посмотреть PortMon от Sysinternals - какой процесс занимает порт.
    Можно попробовать подключиться к COM9 чем-то типа гипертерминала (такая программа все еще существует?) или Putty чтобы проверить доступность порта.
    Ответ написан
    2 комментария
  • Можно ли собрать свой определитель номера для домашнего телефона?

    @Gansterito
    Можно. Раньше были радио-конструкторы на базе Z80, где реализован "российский АОН" (который поднимал трубку и "курлыкал" в линию). Сейчас на новых ГАТС есть функция "Евро АОН" (который трубку не поднимает), но включен он не везде, и зачастую идет как доп. услуга.
    Наверное, оба варианта можно реализовать на современной базе - Arduino и пр.
    Мануалы и схемы - искать в журнале Радио. Теорию - в многочисленных трудах Гольдштейна.
    Ответ написан
    Комментировать
  • Почему не работает SIP через vpn?

    @Gansterito
    Посмотрите tcpdump-ом на стороне Asterisk доходят ли до него SIP-пакеты REGISTER, отвечает ли Asterisk.
    Ответ написан
    7 комментариев
  • Как убрать загрузку ЦП на 100% (Системные прерывания ~45%)?

    @Gansterito
    Подключите выделенный ноутбук проводом в локальную сеть и запустите wireshark на нем на сколько-нибудь длительный период. Возможно, в сети есть широковещательный флуд, в wireshark вы его сможете увидеть.

    При 50ти внутренних клиентах целесообразно сегментировать сеть, как проводную (по этажам, офисам, отделам, etc), так и wifi (гостевой, для личных устройств, для служебного использования).
    Ответ написан
    1 комментарий