Push для Adroid

paurus

Customer
Advanced Certified
Регистрация
20 Окт 2015
Сообщения
602
Здравствуйте.
Не ходят Push для андроид. Когда перестали работать - трудно сказать, так как этот аппарат у меня запасной и пользуюсь редко.
Если аппарат не спит - звонки проходят. Если заблокировать - перестают ходить примерно через 10 минут. Если стоит на зарядке - звонки проходят. Уведомления от других программ проходят всегда.
Клиента недавно обновил до последней версии. АТС V15 SP5.
Клиента переустанавливал, приветственное сообщение отправлял.
Учетную запись Push менял на общую, новый проект в Google создавал -результат тот же.
Тестировал его и внутри сети и вне (через LTE MTS).
Почему-то перестал проходить тест сетевого экрана:
testing 3CX Media Server... failed (How to resolve?)
stopping service... done
testing ports [9000..9255]... failed
testing port 9000... unmatched mapping (35764)
testing port 9001... unmatched mapping (35765)
testing port 9002... unmatched mapping (35766)
testing port 9003... unmatched mapping (35767)
testing port 9004... unmatched mapping (35768)
testing port 9005... unmatched mapping (35769)
testing port 9006... unmatched mapping (35770)
testing port 9007... unmatched mapping (35771)
testing port 9008... unmatched mapping (35772)
testing port 9009... unmatched mapping (35773)
testing port 9010... unmatched mapping (35774)
testing port 9011... unmatched mapping (35775)
testing port 9012... unmatched mapping (35776)
testing port 9013... unmatched mapping (35777)
testing port 9014... unmatched mapping (35778)
testing port 9015... unmatched mapping (35779)
testing port 9016... unmatched mapping (35780)
testing port 9017... unmatched mapping (35781)
testing port 9018... unmatched mapping (35782)
и так далее до порта 9255
Проброс портов в роутере настроен (удалял и снова создавал)
Но не уверен, что данные порты влияют на Push.
Грешу на совместимость последнего клиента Android с моим аппаратом, но как откатиться не знаю.
Других Android в сети нет, так что не проверить.
Смотрел логи станции - Push вроде отправляется с ответом от Google OK (если я правильно понял)
Какие будут мысли?
 
И еще интересная штука.
Когда клиент разблокирован и клиент запущен, в списке телефонов он отображается нормально.
Когда аппарат засыпает - в списке телефонов появляется как новый и не настроенный
New 3CX Phone for Android android 7.0 1066931955 New New New New New 192.168.2.42 020000000000
 
paurus добрый день,

1) По PUSH, проверьте лог в “C:\ProgramData\3CX\Instance1\Data\Logs\3CXDialer.log”
пишет где либо "GCM Response: Unauthorized Unauthorized" ?

2) По портам [9000-9255]- это 3CX Media Server (RTP) порты для передачи аудио/видео для удаленных доб. номеров (STUN) и VoIP провайдеров.
Подробнее по портам: https://www.3cx.com/ports-used-3cx-phone-system-v14-v15/

Проверьте ваш ваервол в ОС, перезапустите сервисы, и в момент теста ваервола, запустите wireshark, и посмотрите где происходит ремап порта например, фильтр в wiresharke "classicstun && udp.port == 9001"

• "Но не уверен, что данные порты влияют на Push."

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

https://www.3cx.com/docs/ (Step 3: Firewall configuration)

3) "когда аппарат засыпает – в списке телефонов появляется как новый и не настроенный"

- устройство отсылает multicast сообщение, в момент когда оно не настроено вообще, или настроено не правильно или же что то с сетью и сообщение приходит снова, так как сервер всегда слушает на порт 224.0.1.75. Перешлите новое приветственное письмо с настройками.
https://www.3cx.com/docs/plug-and-play-ip-phone/
 
  • Like
Реакции: klazarev
#cxoleg добрый день.
"По PUSH, проверьте лог в “C:\ProgramData\3CX\Instance1\Data\Logs\3CXDialer.log”
пишет где либо “GCM Response: Unauthorized Unauthorized” ?"
Такого нигде не нашел.
В логах есть такое
17.03.31 11:16:37.532|100017| Inf|50|0026|: Call(EOFKVNCEHIDH): sent push request:
{"registration_ids" : [ "APA91bFwNDrXDKlftzveQ2GrMO-bgGMLKMso17GfesI2hD8jLrEV9TFhd7vS-CK52NpoUSrP3K36urXnfRbC0YXil1PYNa80W3Vo2KfGfsZA9MEOQDv-xQJjc9Aidfx7ZAXRO5C7nZ9o" ], "data": {"replaces": "ExTHyHLOF6Ag7J2mHSM4Pw..;from-tag=427f635d;to-tag=9a452960", "callerid": "100", "inst": "15b50f16", "reason": 1 } }
GCM response: OK OK
Как я это понимаю - сообщение отправлено успешно.
 
В логах клиента нашел такое (выборка по времени последнего неудачного звонка)

03-31 12:01:59.425 16319 16319 I chatty : uid=10007(com.tcx.sipphone14) expire 21 lines
03-31 12:01:59.531 16319 16341 I chatty : uid=10007(com.tcx.sipphone14) expire 2 lines
03-31 12:02:10.386 16319 16319 I chatty : uid=10007(com.tcx.sipphone14) expire 4 lines
03-31 12:02:10.395 16319 16319 V GCMBaseIntentService: Intent service name: GCMIntentService-DynamicSenderIds-2
03-31 12:02:10.395 16319 16319 I 3CXPhone15: (thread 16319) 12:02:10:395 Creating GcmService
03-31 12:02:10.401 16319 16343 I 3CXPhone15: (thread 16343) 12:02:10:401 Received GCM message:
03-31 12:02:10.401 16319 16343 I 3CXPhone15: google.sent_time = 1490950929596
03-31 12:02:10.401 16319 16343 I 3CXPhone15: reason = 1
03-31 12:02:10.401 16319 16343 I 3CXPhone15: replaces = 57m2oppgvDHLHWsoh-UXRw..;from-tag=ff07ac3d;to-tag=5259ab04
03-31 12:02:10.401 16319 16343 I 3CXPhone15: callerid = 100
03-31 12:02:10.401 16319 16343 I 3CXPhone15: from = 66919255406
03-31 12:02:10.401 16319 16343 I 3CXPhone15: inst = 15b50f16
03-31 12:02:10.401 16319 16343 I 3CXPhone15: google.message_id = 0:1490950929650484%fc376129f9fd7ecd
03-31 12:02:10.402 16319 16343 V GCMBaseIntentService: Releasing wakelock

Правильно я понимаю, что Push он принимает?
 
paurus,

• "Как я это понимаю – сообщение отправлено успешно."

- Совершенно верно, ошибки нет и АТС отправляет сообщение PUSH серверу, следовательно неприятность в другом, как и описано в предыдущем ответе.
 
А как вам логи клиента?
 
В настройках клиента >> Settings >> Advanced settings >> и укажите Verbose logging
после, посмотрите в подробном логировании..
Убедитесь что уведомления 3CX приложения не исключены.
 
Вот все что было в подробных логах (выборка по времени звонка)
03-31 18:20:05.525 31654 31654 I chatty : uid=10007(com.tcx.sipphone14) expire 53 lines
03-31 18:20:05.649 31654 31676 I chatty : uid=10007(com.tcx.sipphone14) expire 6 lines
03-31 18:20:25.103 31654 31654 I chatty : uid=10007(com.tcx.sipphone14) expire 22 lines
03-31 18:20:25.118 31654 31678 I chatty : uid=10007(com.tcx.sipphone14) expire 6 lines
 
Проблему с тестом сетевого экрана решил путем отката прошивки роутера, но проблему с Push для Android это не решило (новое приветственное сообщение отправлял и сервисы перезапускал).
 
Проверил следующий вариант.
В учетной записи PUSH (в станции) внес не верные данные, соответственно при звонке в логах “GCM Response: Unauthorized Unauthorized”, что в общем-то ожидаемо. При таком варианте входящие звонки приходят только если приложение запущено и смартфон разблокирован. Если приложение закрыть - входящие не приходят даже если тел. еще не заблокировался. То есть так работает без PUSH.
Далее в учетной записи PUSH ставлю верные данные, при звонке в логах "GCM response: OK OK", то есть PUSH пошел.
В таком варианте входящие приходят и при закрытом приложении и при заблокированном телефоне - следовательно PUSH работает.
Но стоит телефону "поспать" около 10 минут - входящих не приходят (в логах станции так же "GCM response: OK OK").
Через 7 минут "сна" входящие еще приходят, через 10 - уже нет. Вызовы через WhatApp ходят всегда.
Перекопал в телефоне все настройки - сообщения от 3сх не заблокированы, оптимизация и экономия акб выключена.
Все это проверял и внутри сети и за ее пределами.
Создал нового пользователя, приветственное письмо отправил товарищу на его Android.
Он установил клиент, настроил.
Все проявления те же. До 10 мин. "сна" входящие приходят, после 10 - нет.
Он подключался из другой сети.
 
Иногда полезно просто пересоздать PUSH аккаунт на Google.
 
В самом первом сообщении этого поста:
"Учетную запись Push менял на общую, новый проект в Google создавал -результат тот же"
Так что увы...
 
И новый аккаунт то же.
 
paurus,

по логам у вас вроде бы все ок.

В 7-й версии андройда, посмотрите в настройках самой систему следующее,
в "settings >> battery & power saving >> battery usage >> ignore optimization"
и включите приложение 3CX клиента в данном листе.

Позновательная статья по Push-уведомления и задержки : https://productforums.google.com/forum/#!topic/nexus/fslYqYrULto
 
Случилось чудо. Все заработало!
У меня в настройках Android наоборот "Выберите программы, которым ТРЕБУЕТСЯ оптимизация". Соответственно галочка с 3сх была снята (с остальных программ тоже). От отсутствия вариантов поиска причин проблемы решил включить оптимизацию для 3сх - и чудо свершилось.
С включённой оптимизацией звонки приходят всегда.
Не исключаю, что это не правильный перевод меню на русский и этой галочкой я выключил оптимизацию..
В любом случае заработало.
 
В моем Android 7.1 экономия заряда для 3CX всегда была включена и звонки всегда приходили.
 
Рады слышать что все работает!
 
И все же проблема осталась. Теперь через 2-2,5 часа "сна" телефона входящие перестают ходить (было через 10 минут).
Пока приходиться его периодически "будить". Благо телефон не основной, а запасной.
 
В новой версии АТС будет добавлен сервис Firebase Cloud Messaging (FCM) PUSH, обновленная версия существующего Google Cloud Messaging(GCM) и неприятность с PUSH должна решиться.
 

Для администраторов

Пользователи онлайн

Статистика форума

Темы
21.064
Сообщения
105.875
Пользователи
70.097
Новый пользователь
Glauco Torres
Установите 3CX - Совершенно бесплатно!

Соединяйте сотрудников и клиентов Телефонная система Чат для сайта Видеоконференции

На хостинге или своих ресурсах. До 10 пользователей - бесплатно навсегда. Без банковских карт и рисков.

3CX
Аккаунт 3CX с таким e-mail уже существует. Вы будете переадресованы на Портал пользователя, где сможете ввести учетные данные или восстановить пароль.