Cisco IP телефон 7942g

Зараз на ринку є багато обладнання, у яких закінчується життевий цикл. Великі закордонні компанії списують цілком робоче обладнання (через пандемію меншими обсягами) яке потрапляє до нас. Розглянемо Cisco IP телефон 7942g який можна купити в Україні за 10$.

По телефону: 2 лінії, монохромний екран із градаціями сірого без підсвітки, вбудований гігабітний світч із POE. Роз’єм живлення 48 вольт зовнішнього живлення специфічний в порівнянні із БЖ від точки доступу.

Серія специфічна, всередині крутиться JAVA. Стандартна прошивка йде із протоколом SCCP. Для наших потреб потрібна прошивка із підтримкою SIP.

Ідемо на офіційний сайт Cisco і після реєстрації завантажуємо останню прошивку 9.4.

SIP42.9-4-2SR3-1S

Налаштовуємо DHCP сервер і піднімаємо TFTP сервер. Вимикаємо живлення, затискаємо # і коли 2 кнопки ліній починають перемигуватися рожевим відпускаємо, і вводимо комбінацію:

123456789*0#

Прошивка і конфігурація стираються, лишається бутлоадер. Якщо набрати 3491672850*# то стреться і бутлоадер, і якщо телефон перезавантажити, то буде “цегла”.

Конфігуримо XML SEP**MAC**.cnf.xml конфіг, додаючи параметер, де 194.44.1.1 наша зовнішня IP:

<natEnabled>true</natEnabled>
<natAddress>194.44.1.1</natAddress>

Після годин гуглення бачимо що версія 9 підтримує TCP і UDP метод зв’язку. Як у нас не виходить авторизуватися, знаходимо що з версії 9.1 не підтримуються сторонні SIP сервери. Находимо багато інструкцій про конфігурення телефону на 8 версії. Завантажуємо крайню 8 версію, пітримка тільки UDP:

SIP42.8-5-4S

Пробуємо конектитися до зовнішнього сервера, не бачимо ніякий спроб. Запускаємо tcpdump і бачимо запит:

REGISTER sip:77.77.77.77 SIP/2.0
Via: SIP/2.0/UDP 194.44.1.1:5060;branch=z9hG4bK4c8b6522
From: <sip:112@77.77.77.77>;tag=e84040a2222700bc5ae9b929-5f55169c
To: <sip:112@77.77.77.77>
Call-ID: e84040a2-22270002-64e3acf8-4b0e25bc@194.44.1.1
Max-Forwards: 70
Date: Fri,.23.Jul.2021.18:03:35.GMT
CSeq: 222.REGISTER
User-Agent: Cisco-CP7942G/8.5.3
Contact: <sip:112@77.77.77.77;transport=udp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-e84040a22227>";+u.sip!model.ccm.cisco.com="434"
Supported: (null),X-cisco-xsi-7.0.1
Content-Length: 0
Expires: 3600

Сервер телефонії дає відповідь 401 Unauthorized і дає способи авторизації і рандом для Digest авторизації. І далі по колу. Згадуємо що у нас NAT і в заголовку Via має приходити заготовлений порт rport а його немає.

Тому знову перепрошиваємо апарат на прошивку.

SIP42.9-0-3S

Не забуваємо виставити параметри які потрібні у версії 9+ (4 по замовчуванню, 1 – TCP, 2 – UDP).

<proxy>USECALLMANAGER</proxy>
<transportLayerProtocol>4</transportLayerProtocol>

І телефон успішно авторизувався, дзвонить і приймає дзвінки із АТС Asterisk.

При натистку Services кнопки може завантажуватися бразуер

<servicesURL>http://uaid.net.ua/ipphone/services.php</servicesURL>

Підтримка тільки HTTP, можна реалізувати відображення динамічної інформації, типу погоди. Або керувати освітленням.

Відображення показань лічильників і погоди.

Українізуємо прошивку, для цього пропишемо

<userLocale>
  <name>Ukraine</name> 
  <uid></uid> 
  <langCode>uk_UA</langCode> 
  <version>8.4.3.1000-1</version> 
  <winCharSet>utf-8</winCharSet> 
</userLocale>
<networkLocale>Ukraine</networkLocale> 
<networkLocaleInfo> 
  <name>Ukraine</name> 
  <uid></uid> 
  <version>8.4.3.1000-1</version> 
</networkLocaleInfo>

і покладемо спеціально навчений файлик у /Ukraine/mk-sip.jar. Телефон підтяне нову мову.

Команди, які потрібні для тестування конфігурації, заходимо у налаштування і тиснемо для перезавантаження телефону.

**#**

Сервер TFTP активовуємо на роутері під OpenWRT. І прописуємо параметри /etc/config/dhcp

config boot
  option serveraddress '192.168.1.1'

config dhcp 'lan'
  list dhcp_option '150,192.168.1.1'
  list dhcp_option '66,192.168.1.1'

Або через консоль

uci add_list dhcp.lan.dhcp_option="150,192.168.1.1"
uci add_list dhcp.lan.dhcp_option="66,192.168.1.1"
uci commit dhcp
/etc/init.d/dnsmasq restart

Якщо виставити 0 у конфізі, так, не 1 а нуль:

<webAccess>0</webAccess>

то у браузері можна переглянути дані по телефону.

Для Вас це 3 хвилини на прочитання, а для мене більше 50 сайтів і безлічі експериментів )))

UPD: зловив цікавий баг: модем Huawei E1550 при активованій функції AT+CLIP при дзвінку після RING видає номер абонента який телефонував перед цим. Причому AT+CLCC з першого запиту вертає коректний номер.

Помилка на 11.608.14.15.311, 11.608.12.07.21, 11.609.18.00.00.

Коментарі