Cisco IP телефон 7942g

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

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

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

Ідемо на офіційний сайт Cisco і після реєстрації завантажуємо останню прошивку 9.4 (2015 рік, – не доступний файл від 2023 року). Файл cmterm-7942_7962-sip.9-4-2SR3-1.zip 6,5 мб.

SIP42.9-4-2SR3-1S

Налаштовуємо DHCP сервер (прописуємо DHCP-Options 3,192.168.1.1 6,192.168.1.1 42,192.168.1.1) і піднімаємо TFTP сервер. У LEDE (OpenWRT) Network – DHCP and DNS – TFTP Settings –

Можна закинути прошивку (10 мб) у RAM роутера.

ln -s /tmp/c/apps42.9-4-2ES26.sbn /root/tftp
ln -s /tmp/c/cvm42sip.9-4-2ES26.sbn /root/tftp
ln -s /tmp/c/jar42sip.9-4-2ES26.sbn /root/tftp
ln -s /tmp/c/cnu42.9-4-2ES26.sbn /root/tftp
ln -s /tmp/c/dsp42.9-4-2ES26.sbn /root/tftp
ln -s /tmp/c/SIP42.9-4-2SR3-1S.loads /root/tftp
ln -s /tmp/c/term42.default.loads /root/tftp
ln -s /tmp/c/term62.default.loads /root/tftp

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

123456789*0#

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

Конфігуруємо XML SEP**MAC**.cnf.xml конфіг. Робимо щоб телефон працював із Asterisk через OpenVPN. Коректно працює тільки TCP з’єднання. Додаємо параметр, де 10.8.0.12 наша IP присвоєна інтерфейсу tun0:

<natEnabled>true</natEnabled>
<natAddress>10.8.0.12</natAddress>

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

<proxy>USECALLMANAGER</proxy>
<transportLayerProtocol>1</transportLayerProtocol>

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

Якщо телефон не авторизується (на 8.5 версії ПЗ), запускаємо 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 а його немає.

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

<servicesURL>http://10.8.0.1/ipphone/services.php</servicesURL>

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

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

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

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

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

Файл українського інтерфейсу.

Телефон відобразить нову мову.

Для часового поясу коректного:

<timeZone>E. Europe Standard/Daylight Time</timeZone>

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

**#**

На телефон можна виводити зображення: прокидаємо 80 порт, задаємо і обробляємо authenticationURL, відправляємо POST на /CGI/Execute із XML командою setBackground яка завантажує PNG із нашого ресурсу.

XML=<setBackground><background><icon>http://10.7.0.1/cisco/image_preview.png</icon><image>http://10.7.0.1/cisco/image_status.php</image></background></setBackground>

Наприклад карту тривог:

Зображення динамічно формується на підставі статусів областей.

За адресою /CGI/Screenshot можна отримати скріншот екрану.

Сервер 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>

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

Невирішене питання: як зробити щоб номер набирався моментально, а не пропікувався у DTMF?

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

Дзвінок між Panasonic KX-HDV130 і Cisco 7942g:

Додаємо DC-DC 48-5 на базі PKF 4111A, живлення беремо із AUX 6 контактного роз’ємі (1 – плюс, 6 – мінус). На MR3020 піднятий VPN через WiFi. Оригінальний блок живлення CP-PWR-CUBE-3 48В 0.38А.

В порівнянні із Grandstream.

Адаптер Jabra GN1200 CC QD-RJ9 перемикач ставимо у 8 положення.

Нутрощі телефону, плата займає весь корпус.

Процесор cisco, оперативка hynix, флеш spansion S29GL128P.

Блок живлення, із 48 вольт формуються потрібні напруги.

Комутація із PoE і роз’єму 48 вольт і захисти.

PHY BCM5241 .

 

UPD: Цікаво що ця платформа використовувалася для захищеного зв’язку: TEMPEST: DTD-7962-T2. Додано оптичні інтерфейси, екранування корпусу, дротів.

Фото cryptomuseum.com

UPD: Перехідник з вилки папа CEE 7/7 на роз’єм IEC 60320 (IEC 320) C13. Лінк.

Можна зменшити кількість кабелів на робочому місці.

Або вагу в рюкзаку. Блок живлення від HP виявився з роз’ємом C5.

Використання фотографій або текстового контенту на інших ресурсах без клікабельного індексованого посилання заборонено.