booBot Posted July 24, 2018 Share Posted July 24, 2018 Добрый день! Обнаружил, что некий сторонний SIP-клиент (Linphone под iOS) может работать с PUSH. Попытка его (PUSH) включить приводит к ошибке регистрации. С выключенным PUSH'ем - регистрируется и работает нормально. Как настроить Linphone на приём PUSH-извещений от серверов Задарма? Заранее - спасибо. Link to comment
Igor Posted July 24, 2018 Share Posted July 24, 2018 К сожалению никак. Push все используют индивидуально, возможно его использовать только с фирменными клиентами Zadarma. Link to comment
booBot Posted July 25, 2018 Author Share Posted July 25, 2018 Это "политическое" (т.е. - тарифное) ограничение, или техническое? Link to comment
Igor Posted July 25, 2018 Share Posted July 25, 2018 Техническое. Как реализован push в каком-то стороннем клиенте не имеем ни малейшего понятия. Это не просто sip, тут много специфики. Link to comment
booBot Posted July 26, 2018 Author Share Posted July 26, 2018 Пытаюсь разобраться (читая чужие вопросы о PUSH), сложилось впечатление, что включение к клиенте поддержки PUSH - добавляет ещё одно поле в команде REGISTER. На первый взгляд - должно работать не только с "родными" клиентами. Очень бы хотелось включить PUSH на linphone с Задармой. Link to comment
Clevelus Posted July 26, 2018 Share Posted July 26, 2018 Очень бы хотелось включить PUSH на linphone с Задармой. Клиент Задарма под iPhone уже использует PUSH. Используйте его. Исторически Задарма не поддерживает сторонние решения (что, в общем, правильно). Предложите функцию - "добавлять еще одно поле в команде REGISTER", оно нужно не только для PUSH уведомлений и хорошо бы этим управлять. Но в целом - это очень редко запрашиваемый функционал. Плюс у Задарма есть своя специфика и при использовании SIP протокола ... Так что прямо из коробки получить возможность поддержки PUSH на LinPhone у любого оператора - вредил получится (только если оператор не выберет этот клиент как основной и сам не будет пилить свои клиенты). Link to comment
Igor Posted July 26, 2018 Share Posted July 26, 2018 Причем тут register? Вы вообще представляете как работает push? Саму по себе отправку push можно по разному использовать, совсем по разному. Как это делают в linphone не известно. Link to comment
Clevelus Posted July 26, 2018 Share Posted July 26, 2018 Причем тут register? Вы вообще представляете как работает push? В данном конкретном случае оно используется в технологии от LinPhone для использования PUSH Она довольно подробно расписана, у них на сайте и в целом я как-то даже реализовывал на своем FreeSwitch ... Оно даже как-то работало. Link to comment
booBot Posted July 27, 2018 Author Share Posted July 27, 2018 А вдруг в Liphone делают правильно? Вопрос-то был, почему он (Linphone) при включении PUSH перестаёт регистрироваться (на УЗ в Задарма)? Мне кажется, что-то не нравится как раз серверу - появившийся дополнительный заголовок в пакете. Пожалуйста, обратите на это внимание. Заранее - спасибо! Link to comment
Igor Posted July 28, 2018 Share Posted July 28, 2018 Вопрос-то был, почему он (Linphone) при включении PUSH перестаёт регистрироваться (на УЗ в Задарма)? Мне кажется, что-то не нравится как раз серверу - появившийся дополнительный заголовок в пакете. Не пользовался данной программой потому понятия не имею. Вероятно он просто не использует регистрацию и ждет звонков только по push. Может после push зарегистрируется а может как-то еще передаст серверу куда ему слать звонок. В любом случае пилить чей-то протокол для совместимости чтобы потом "как-то работало" пока они не изменят что-то, не вижу ни малейшего смысла. Link to comment
Igor Posted August 1, 2018 Share Posted August 1, 2018 Я ведь выше писал, push это не sip. Так просто не подключается. В случае с линфоном они это продают за много много денег для провайдеров кто хочет использовать их телефон. (там тогда помогут с интеграцией) Самостоятельно подключить не выйдет. Link to comment
booBot Posted August 1, 2018 Author Share Posted August 1, 2018 Программа Zoiper v3.16.1 поддерживает PUSH? Не нашёл ничего в её настройках. Link to comment
Clevelus Posted August 1, 2018 Share Posted August 1, 2018 (edited) А в настройках клиента Задарма вы нашли в настройках PUSH ? Все реализации на уровне клиента и сервера. Иногда бывают делают настройку "включить / отключить" ... но смысла в ней особого нет. В случае с Зоипер (насколько помню по памяти) сервер в заголовке SIP должен отправлять ссылку при регистрации (и перерегистрации). Все рассчитано на "бесплатное" использование PUSH от Майкрософт (работает со всеми платформами и в общем лучший из универсальных, продается и отдельно в Azure) Решение "для бедных". В целом я поднимал такое (делал прослойку между клиентом и сервером Задарма на моем любимом Freeswitch). Но любая лишняя прослойка требует администрирования (как преимущество можно с высокой процессорной мощностью перекодировать кодеки). Но после тестов отказался от этой затеи. Описание тут https://www.zoiper.com/en/tutorials/push-notifications Смысл прост - сервер отправляет в клиент адрес, где клиент должен зарегистрироваться и "слушать" PUSH. Если такой заголовок приходит, то клиент его обрабатывает. То есть переключатель (включить или выключить PUSH) находится на стороне сервера, а не клиента. Да, это несложно реализовать любому провайдеру. Но вот поддерживать ... + есть еще тонкости не технического плана. И в Зоипер это встроено, кажется, только в Windows Phone клиенты. У меня тогда он основной был. Но уже несколько лет iPhone. У Apple политика такая же (и она очень правильная), но ... Edited August 1, 2018 by Clevelus Link to comment
booBot Posted August 7, 2018 Author Share Posted August 7, 2018 Проверил работу Linphone (с включенным PUSH) на стороннем сервисе - регистрируется нормально. И только сервер Задармы почему-то отказывается принимать такую регистрацию... Link to comment
booBot Posted August 7, 2018 Author Share Posted August 7, 2018 Прочитал сообщение Clevelus'а - м.б. просто этот "принимающий регистрацию" сервис сам не поддерживает PUSH - вот ничего и не ломается, раз "выключатель" находится на стороне сервера? Link to comment
Igor Posted August 7, 2018 Share Posted August 7, 2018 Прочитал сообщение Clevelus'а - м.б. просто этот "принимающий регистрацию" сервис сам не поддерживает PUSH - вот ничего и не ломается, раз "выключатель" находится на стороне сервера? Давайте без гадания на кофейной гуще. Каждый может реализовывать поддержку push так как он хочет. Как это делали в linphone я понятия не имею, может "поддержка push" ломает стандартную авторизацию SIP протокола вставляя в нее свои костыли. Кому-то sip на костялях подходит а для Zadarma нет. (чтобы потом не ломался голос после nat и не было вопросов с srv и т.д. и т.п.). Но главное, я не вижу ни малейшего смысла в этих рассуждениях. Давайте не будем тратить ни ваше ни мое время Вверху темя я ответил: К сожалению никак. Push все используют индивидуально, возможно его использовать только с фирменными клиентами Zadarma. Link to comment
usdima Posted August 19, 2018 Share Posted August 19, 2018 Единственный клиент, который поддерживает push - это Acrobits play.google.com/store/apps/details?id=cz.acrobits.softphone.alien itunes.apple.com/us/app/acrobits-softphone Но он реализовал его через свой сервер (что в общем-то абсолютно верно т.к. позволяет поддерживать Push Notification для любого SIP провайдера) и для этого он закачивает себе на сервер ваши SIP credentials (login/password/sip server). За это удовольствие (на поддержку сервера) он берет одноразвово 6 долларов. Я считаю, что такой подход оправдывает себя и стоит того, чтобы заплатить 6 долларов: если требуется принимать SIP звонки на мобильный телефон, то в случае использования Acrobits-а расход батарейки телефона практически незаметен и почти нет пропущенных входящих звонков (я сам использую softphone от Acrobits). Linphone поддерживает push notification только и исключительно для своего собственного сервера со своими собственными SIP credentials, т.е. использовать Linphone softphone в связке с push notification для сторонних серверов невозможно. Link to comment
Igor Posted August 20, 2018 Share Posted August 20, 2018 Все верно пишите, кроме двух нюансов. Но он реализовал его через свой сервер (что в общем-то абсолютно верно т.к. позволяет поддерживать Push Notification для любого SIP провайдера) Если быть точным, это единственный способ поддерживать другого SIP провайдера. Я считаю, что такой подход оправдывает себя и стоит того, чтобы заплатить 6 долларов: У такого подхода есть 2 существенных минуса:. 1. пароли и, вероятно, сам голос, идут через сервера другого провайдера, что не увеличивает безопасность и надежность. 2. сервера acrobits могут находиться намного дальше чем вашего провайдера (например Zadarma специально выбирает ближайший к клиенту датацентр) что может сильно ухудшить качество связи. Link to comment
Clevelus Posted August 23, 2018 Share Posted August 23, 2018 Для информации. Немного попутешествовал, в том числе много в местах с очень плохим мобильным Интернет. В случае плохого Интернет клиент Задарма (под iOS) отрабатывает очень плохо (это не очень понятно, PUSH должны приходить без проблем, если реализованы через мобильного оператора). Но это в целом понятно. И в целом все работало хорошо. Но вот что удивительно. У меня стоит еще Зоипер клиент. Я его не запускал очень давно. Так вот, при плохом Интернет у меня зарабатывал (через раз) входящий звонок в Зоипер! Я не понимаю как (по идее, если не запускаешь приложение более месяца пуши должны отваливаться и не приходить) Скорее всего, логин и пароль как-то передается на сервера Зоипер, оно коннектится к Задарма, а между сервером Зоипер и клиентом в телефоне ходят пуши. В целом Задарма есть над чем подумать: - пуши при плохом Интернет (и все-таки, перевод звонка на номер в этом случае, при чем управлять не в АТС Задарма, а именно в клиенте: приходит пущ, клиент (при наличии настройки и разрешения) если видит отсутствие Интернета (в моем случае это 5 палок, но Е, или 1 палка 3G) говорит АТС - переводи звонок на номер такой-то (указан в клиенте). В общем подобная логика и в Skype и в Cisco UCS ... Номер телефона задается именно в клиенте (под Андроид, кажется, может сам определять номер SIM карты, под iOS всегда просит задать вручную и как-т о определяет факт замены SIM карты). Ну и собственно пуши (им Интранета особо не надо, но как-то работает слабо именно у Задарма) - разобраться с клиентом Зоипер. Может быть плохо, что данные передаются куда-то (если передаются и непонятно что передается). Может быть его рекомендовать как альтернативу. В общем непонятно, но подумать есть над чем. Ну и клиент Задарма для iOS сейчас действительно хорош. Да, недостатков по мелочи еще много, но это мелочи. Link to comment
Igor Posted August 23, 2018 Share Posted August 23, 2018 переводи звонок на номер такой-то (указан в клиенте). А почему-бы не включить условную переадресацию? Если не всегда есть интернет и так ее рекомендуем. если видит отсутствие Интернета (в моем случае это 5 палок, но Е, или 1 палка 3G) говорит АТС Вдумайтесь в ваши слова. Если нет Интернета то КАК программа что-то передаст АТС?? Напомню, что у Edge пинг 2-3 секунды, push тоже отработает не быстро в такой ситуации. Так что даже если будет слабый слабый интернет, оповещение будет крайне долгим. В этой ситуации условная переадресация также намного лучше. И не нужно изобретать велосипед. Может быть плохо, что данные передаются куда-то (если передаются и непонятно что передается). Данные 100% никуда не передаются. Авторизационные данные значит вы туда загружали в начале. Проверьте, возможно у вас он стоит следующим в "звонить" в АТС. Возможно он также просыпается при push запросах "разбудить sip". Link to comment
Clevelus Posted August 23, 2018 Share Posted August 23, 2018 >> А почему-бы не включить условную переадресацию? Если не всегда есть интернет и так ее рекомендуем. Это может сделать пользователь не обращаясь к администратору? Вы уже сделали личные кабинеты "пользователей"? Если SIM карта меняется, это удобно делать (тем более при отсутствии качественного Интернет) через WEB, да еще в поездке с телефона? И это далеко не все причины. По идее, может быть сделать специальную ссылку, при переходе по которой можно сменить номер (то есть в веб интерфейс е отображать старый номер и поле для ввода нового номера, без паролей и запросов). С другой стороны, если появится такая "ссылка", то менять прямо в клиенте - дело техники. >> Если нет Интернета то КАК программа что-то передаст АТС?? PUSH может передаваться через мобильного оператора (технологически это специальный вид SMS, кажется). Насколько понимаю, тот же Apple имеет по этому поводу договоры со всеми операторами и PUSH через них это реализует без проблем (запрос на авторизацию Apple приходит даже при выключенном GPRS, было как-то). E - это тоже Интернет, вроде бы как, но по факту его нет (очень и очень узкий канал), но пуши бегают нормально. Велосипеды не нужны. Все уже придумано до нас, нужно просто правильно использовать ... подумав. >> Данные 100% никуда не передаются. Из Задарма да. Но вот как работают клиенты (в частности Зоипер) ... Мир меняется и очень быстро. И SIP клиенты и SIP операторы не стоят на месте. По поводу Зоипер - как будет время постараюсь изучить внимательнее. Факт остается фактом - оно как-то работало. Вызов приходил в Зоипер клиент (который не запускался давно), но не приходил в Задарма клиент (который даже запускался почти каждый день). Почему - не знаю, но самому интересно. >> Возможно он также просыпается при push запросах "разбудить sip" Насколько помню, если приложение не запускалось определенное число дней, то и пуши к нему гасятся (так было на Windows Phone, но Apple должен был повторить). В общем интересный момент к размышлению, не более того. Link to comment
Igor Posted August 23, 2018 Share Posted August 23, 2018 Это может сделать пользователь не обращаясь к администратору? Вы уже сделали личные кабинеты "пользователей"? Я предложил вам как решить проблему отсутствующего интернета, быстро и просто. Мы обычно рекомендуем при первоначальной настройке любого мобильного клиента включить условную переадресацию. Если вы не хотите это сделать (так как доступ в ЛК у вас есть), то нет смысла дальше что-то обсуждать. Функционал будет развиваться, в том числе и программы для iOS. В том числе и настройки переадресации/подключения. Но, более его я тут не смогу обсуждать в таком ключе. Ведь мы стараемся для решения конкретных проблем конкретных пользователей, но не для теоретических споров ради спора. Link to comment
Clevelus Posted August 23, 2018 Share Posted August 23, 2018 Невозможно сделать переадресацию на номер, который пока неизвестен. В поездке он меняется (более того, некоторые номера известны заранее, но их несколько, но одновременную переадресацию на несколько номеров сделать сложно (нужно каждый привязывать к отдельному номеру АТС). В общем в данном случае предложенное не является решением и как это работает я хорошо знаю. До того как вышел новый клиент я переадресацией активно пользовался. К сожалению проблема двойного вызова (которую ваша поддержка перевела на "встречного оператора") уже пару месяцев как не решена, переадресацией на мой основной номер пользоваться крайне сложно (двойной вызов увиливает время на прием до 30 секунд и больше или вообще сразу к пропущенному вызову). Еще раз - переадресация на уровне SIP клиента - довольно частая опция во многих клиентах (сам SIP клиент делает второй вызов и "переадресует"). В случае плохого Интернет это только хуже делает. Но в случае с Задарма включать ее "на уровне сервера" из клиента - вполне возможно (да и API по сути это позволяет). А если еще добавить условие "плохой Интернет", то было бы вообще идеально. Link to comment
Igor Posted August 23, 2018 Share Posted August 23, 2018 В трех словах: В поездке он меняется Включение переадресации из SIP клиента планируется в будущем. К сожалению проблема двойного вызов Не слышал о таком, номер заявки сюда или в личку пожалуйста. А если еще добавить условие "плохой Интернет", то было бы вообще идеально. Задержка в Edge легко может быть 2-3 секунды. Чтобы понять что интернет плохой и сообщить об этом уйдет 10-15-30 секунд. Все проще, не надо быть провидцем чтобы узнать что через 2G VoIP не ходит. Добавим выбор сетей с которыми работать (wifi, 3g,lte, 2g) сети 2g по умолчанию выключены. Аналогичный выбор есть в Zadarma для android. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now