Перейти к публикации
booBot

Push: Сторонний Sip-Клиент На Уз Zadarma?

Рекомендованные сообщения

Добрый день!

 

Обнаружил, что некий сторонний SIP-клиент (Linphone под iOS) может работать с PUSH.

Попытка его (PUSH) включить приводит к ошибке регистрации. С выключенным PUSH'ем - регистрируется и работает нормально.

 

Как настроить Linphone на приём PUSH-извещений от серверов Задарма?

 

Заранее - спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

К сожалению никак.

 

Push все используют индивидуально, возможно его использовать только с фирменными клиентами Zadarma.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это "политическое" (т.е. - тарифное) ограничение, или техническое?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Техническое.

Как реализован push в каком-то стороннем клиенте не имеем ни малейшего понятия.

Это не просто sip, тут много специфики.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пытаюсь разобраться (читая чужие вопросы о PUSH), сложилось впечатление, что включение к клиенте поддержки PUSH - добавляет ещё одно поле в команде REGISTER.

На первый взгляд - должно работать не только с "родными" клиентами.

 

Очень бы хотелось включить PUSH на linphone с Задармой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Очень бы хотелось включить PUSH на linphone с Задармой.

 

Клиент Задарма под iPhone уже использует PUSH. Используйте его.

 

Исторически Задарма не поддерживает сторонние решения (что, в общем, правильно).

Предложите функцию - "добавлять еще одно поле в команде REGISTER", оно нужно не только для PUSH уведомлений и хорошо бы этим управлять.

Но в целом - это очень редко запрашиваемый функционал. Плюс у Задарма есть своя специфика и при использовании SIP протокола ...

Так что прямо из коробки получить возможность поддержки PUSH на LinPhone у любого оператора - вредил получится (только если оператор не выберет этот клиент как основной и сам не будет пилить свои клиенты).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Причем тут register? Вы вообще представляете как работает push?

 

Саму по себе отправку push можно по разному использовать, совсем по разному. Как это делают в linphone не известно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Причем тут register? Вы вообще представляете как работает push?

 

В данном конкретном случае оно используется в технологии от LinPhone для использования PUSH

Она довольно подробно расписана, у них на сайте и в целом я как-то даже реализовывал на своем FreeSwitch ...

Оно даже как-то работало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вдруг в Liphone делают правильно?

 

Вопрос-то был, почему он (Linphone) при включении PUSH перестаёт регистрироваться (на УЗ в Задарма)? Мне кажется, что-то не нравится как раз серверу - появившийся дополнительный заголовок в пакете.

 

Пожалуйста, обратите на это внимание.

Заранее - спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Вопрос-то был, почему он (Linphone) при включении PUSH перестаёт регистрироваться (на УЗ в Задарма)? Мне кажется, что-то не нравится как раз серверу - появившийся дополнительный заголовок в пакете.

 

Не пользовался данной программой потому понятия не имею.

Вероятно он просто не использует регистрацию и ждет звонков только по push. Может после push зарегистрируется а может как-то еще передаст серверу куда ему слать звонок.

В любом случае пилить чей-то протокол для совместимости чтобы потом "как-то работало" пока они не изменят что-то, не вижу ни малейшего смысла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я ведь выше писал, push это не sip. Так просто не подключается.

В случае с линфоном они это продают за много много денег для провайдеров кто хочет использовать их телефон. (там тогда помогут с интеграцией)

 

Самостоятельно подключить не выйдет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Программа Zoiper v3.16.1 поддерживает PUSH?

Не нашёл ничего в её настройках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А в настройках клиента Задарма вы нашли в настройках PUSH ?

 

Все реализации на уровне клиента и сервера. Иногда бывают делают настройку "включить / отключить" ... но смысла в ней особого нет.

В случае с Зоипер (насколько помню по памяти) сервер в заголовке SIP должен отправлять ссылку при регистрации (и перерегистрации).

Все рассчитано на "бесплатное" использование PUSH от Майкрософт (работает со всеми платформами и в общем лучший из универсальных, продается и отдельно в Azure)

 

Решение "для бедных". В целом я поднимал такое (делал прослойку между клиентом и сервером Задарма на моем любимом Freeswitch). Но любая лишняя прослойка требует администрирования (как преимущество можно с высокой процессорной мощностью перекодировать кодеки). Но после тестов отказался от этой затеи.

 

 

Описание тут

https://www.zoiper.com/en/tutorials/push-notifications

Смысл прост - сервер отправляет в клиент адрес, где клиент должен зарегистрироваться и "слушать" PUSH.

Если такой заголовок приходит, то клиент его обрабатывает. То есть переключатель (включить или выключить PUSH) находится на стороне сервера, а не клиента.

Да, это несложно реализовать любому провайдеру. Но вот поддерживать ... + есть еще тонкости не технического плана.

 

И в Зоипер это встроено, кажется, только в Windows Phone клиенты. У меня тогда он основной был. Но уже несколько лет iPhone. У Apple политика такая же (и она очень правильная), но ...

 

 

Изменено пользователем Clevelus

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проверил работу Linphone (с включенным PUSH) на стороннем сервисе - регистрируется нормально.

И только сервер Задармы почему-то отказывается принимать такую регистрацию...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прочитал сообщение Clevelus'а - м.б. просто этот "принимающий регистрацию" сервис сам не поддерживает PUSH - вот ничего и не ломается, раз "выключатель" находится на стороне сервера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Прочитал сообщение Clevelus'а - м.б. просто этот "принимающий регистрацию" сервис сам не поддерживает PUSH - вот ничего и не ломается, раз "выключатель" находится на стороне сервера?

 

Давайте без гадания на кофейной гуще.

Каждый может реализовывать поддержку push так как он хочет.

 

Как это делали в linphone я понятия не имею, может "поддержка push" ломает стандартную авторизацию SIP протокола вставляя в нее свои костыли.

Кому-то sip на костялях подходит а для Zadarma нет. (чтобы потом не ломался голос после nat и не было вопросов с srv и т.д. и т.п.).

 

Но главное, я не вижу ни малейшего смысла в этих рассуждениях.

Давайте не будем тратить ни ваше ни мое время

 

Вверху темя я ответил:

 

К сожалению никак.

 

Push все используют индивидуально, возможно его использовать только с фирменными клиентами Zadarma.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Единственный клиент, который поддерживает 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 для сторонних серверов невозможно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все верно пишите, кроме двух нюансов.

 

 

Но он реализовал его через свой сервер (что в общем-то абсолютно верно т.к. позволяет поддерживать Push Notification для любого SIP провайдера)

 

Если быть точным, это единственный способ поддерживать другого SIP провайдера.

 

 

Я считаю, что такой подход оправдывает себя и стоит того, чтобы заплатить 6 долларов:

 

У такого подхода есть 2 существенных минуса:.

1. пароли и, вероятно, сам голос, идут через сервера другого провайдера, что не увеличивает безопасность и надежность.

2. сервера acrobits могут находиться намного дальше чем вашего провайдера (например Zadarma специально выбирает ближайший к клиенту датацентр) что может сильно ухудшить качество связи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для информации.

Немного попутешествовал, в том числе много в местах с очень плохим мобильным Интернет.

В случае плохого Интернет клиент Задарма (под iOS) отрабатывает очень плохо (это не очень понятно, PUSH должны приходить без проблем, если реализованы через мобильного оператора). Но это в целом понятно. И в целом все работало хорошо.

 

Но вот что удивительно. У меня стоит еще Зоипер клиент. Я его не запускал очень давно.

Так вот, при плохом Интернет у меня зарабатывал (через раз) входящий звонок в Зоипер!

Я не понимаю как (по идее, если не запускаешь приложение более месяца пуши должны отваливаться и не приходить)

Скорее всего, логин и пароль как-то передается на сервера Зоипер, оно коннектится к Задарма, а между сервером Зоипер и клиентом в телефоне ходят пуши.

 

В целом Задарма есть над чем подумать:

- пуши при плохом Интернет (и все-таки, перевод звонка на номер в этом случае, при чем управлять не в АТС Задарма, а именно в клиенте: приходит пущ, клиент (при наличии настройки и разрешения) если видит отсутствие Интернета (в моем случае это 5 палок, но Е, или 1 палка 3G) говорит АТС - переводи звонок на номер такой-то (указан в клиенте). В общем подобная логика и в Skype и в Cisco UCS ... Номер телефона задается именно в клиенте (под Андроид, кажется, может сам определять номер SIM карты, под iOS всегда просит задать вручную и как-т о определяет факт замены SIM карты). Ну и собственно пуши (им Интранета особо не надо, но как-то работает слабо именно у Задарма)

- разобраться с клиентом Зоипер. Может быть плохо, что данные передаются куда-то (если передаются и непонятно что передается). Может быть его рекомендовать как альтернативу. В общем непонятно, но подумать есть над чем.

 

Ну и клиент Задарма для iOS сейчас действительно хорош. Да, недостатков по мелочи еще много, но это мелочи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

переводи звонок на номер такой-то (указан в клиенте).

 

А почему-бы не включить условную переадресацию? Если не всегда есть интернет и так ее рекомендуем.

 

 

если видит отсутствие Интернета (в моем случае это 5 палок, но Е, или 1 палка 3G) говорит АТС

 

Вдумайтесь в ваши слова. Если нет Интернета то КАК программа что-то передаст АТС??

 

Напомню, что у Edge пинг 2-3 секунды, push тоже отработает не быстро в такой ситуации. Так что даже если будет слабый слабый интернет, оповещение будет крайне долгим. В этой ситуации условная переадресация также намного лучше. И не нужно изобретать велосипед.

 

 

Может быть плохо, что данные передаются куда-то (если передаются и непонятно что передается).

Данные 100% никуда не передаются. Авторизационные данные значит вы туда загружали в начале. Проверьте, возможно у вас он стоит следующим в "звонить" в АТС. Возможно он также просыпается при push запросах "разбудить sip".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

>> А почему-бы не включить условную переадресацию? Если не всегда есть интернет и так ее рекомендуем.

Это может сделать пользователь не обращаясь к администратору?

Вы уже сделали личные кабинеты "пользователей"?

Если SIM карта меняется, это удобно делать (тем более при отсутствии качественного Интернет) через WEB, да еще в поездке с телефона?

И это далеко не все причины.

 

По идее, может быть сделать специальную ссылку, при переходе по которой можно сменить номер (то есть в веб интерфейс е отображать старый номер и поле для ввода нового номера, без паролей и запросов). С другой стороны, если появится такая "ссылка", то менять прямо в клиенте - дело техники.

 

>> Если нет Интернета то КАК программа что-то передаст АТС??

PUSH может передаваться через мобильного оператора (технологически это специальный вид SMS, кажется). Насколько понимаю, тот же Apple имеет по этому поводу договоры со всеми операторами и PUSH через них это реализует без проблем (запрос на авторизацию Apple приходит даже при выключенном GPRS, было как-то).

E - это тоже Интернет, вроде бы как, но по факту его нет (очень и очень узкий канал), но пуши бегают нормально.

 

Велосипеды не нужны. Все уже придумано до нас, нужно просто правильно использовать ... подумав.

 

>> Данные 100% никуда не передаются.

Из Задарма да. Но вот как работают клиенты (в частности Зоипер) ...

Мир меняется и очень быстро. И SIP клиенты и SIP операторы не стоят на месте. 

По поводу Зоипер - как будет время постараюсь изучить внимательнее.

Факт остается фактом - оно как-то работало. Вызов приходил в Зоипер клиент (который не запускался давно), но не приходил в Задарма клиент (который даже запускался почти каждый день).

Почему - не знаю, но самому интересно.

 

>> Возможно он также просыпается при push запросах "разбудить sip"

Насколько помню, если приложение не запускалось определенное число дней, то и пуши к нему гасятся (так было на Windows Phone, но Apple должен был повторить).

 

В общем интересный момент к размышлению, не более того.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Это может сделать пользователь не обращаясь к администратору?

Вы уже сделали личные кабинеты "пользователей"?

 

Я предложил вам как решить проблему отсутствующего интернета, быстро и просто.

Мы обычно рекомендуем при первоначальной настройке любого мобильного клиента включить условную переадресацию.

Если вы не хотите это сделать (так как доступ в ЛК у вас есть), то нет смысла дальше что-то обсуждать.

 

Функционал будет развиваться, в том числе и программы для iOS. В том числе и настройки переадресации/подключения.

 

Но, более его я тут не смогу обсуждать в таком ключе. Ведь мы стараемся для решения конкретных проблем конкретных пользователей, но не для теоретических споров ради спора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Невозможно сделать переадресацию на номер, который пока неизвестен.

В поездке он меняется (более того, некоторые номера известны заранее, но их несколько, но одновременную переадресацию на несколько номеров сделать сложно (нужно каждый привязывать к отдельному номеру АТС). В общем в данном случае предложенное не является решением и как это работает я хорошо знаю.

 

До того как вышел новый клиент я переадресацией активно пользовался.

К сожалению проблема двойного вызова (которую ваша поддержка перевела на "встречного оператора") уже пару месяцев как не решена, переадресацией на мой основной номер пользоваться крайне сложно (двойной вызов увиливает время на прием до 30 секунд и больше или вообще сразу к пропущенному вызову).

 

Еще раз - переадресация на уровне SIP клиента - довольно частая опция во многих клиентах (сам SIP клиент делает второй вызов и "переадресует"). В случае плохого Интернет это только хуже делает. Но в случае с Задарма включать ее "на уровне сервера" из клиента - вполне возможно (да и API по сути это позволяет). А если еще добавить условие "плохой Интернет", то было бы вообще идеально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В трех словах:

 

 

В поездке он меняется

Включение переадресации из SIP клиента планируется в будущем.

 

 

К сожалению проблема двойного вызов

Не слышал о таком, номер заявки сюда или в личку пожалуйста.

 

 

А если еще добавить условие "плохой Интернет", то было бы вообще идеально.

Задержка в Edge легко может быть 2-3 секунды. Чтобы понять что интернет плохой и сообщить об этом уйдет 10-15-30 секунд.

Все проще, не надо быть провидцем чтобы узнать что через 2G VoIP не ходит. Добавим выбор сетей с которыми работать (wifi, 3g,lte, 2g) сети 2g по умолчанию выключены. Аналогичный выбор есть в Zadarma для android.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


×
×
  • Создать...