Зараз на ринку є багато обладнання, у яких закінчується життєвий цикл. Великі закордонні компанії списують цілком робоче обладнання (через пандемію меншими обсягами) яке потрапляє до нас. Розглянемо 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. Додано оптичні інтерфейси, екранування корпусу, дротів.
UPD: Перехідник з вилки папа CEE 7/7 на роз’єм IEC 60320 (IEC 320) C13. Лінк.
Можна зменшити кількість кабелів на робочому місці.
Або вагу в рюкзаку. Блок живлення від HP виявився з роз’ємом C5.
Юрій Р. ◯ 0009-0005-3702-9223. (2021). Cisco IP телефон 7942g. Блог UA ID. Взято з: https://blog.uaid.net.ua/cisco-ip-7942g