Решил записать, чтобы не забыть некоторые момент связанные с этими телефонами
Ничего нового не напишу, обычная копипаста и чтение мануалов
I. Локализация, делаем кошку русской
II. Прошиваемся свеженькой прошивкой
III. Расширение функционала.
I. Русификация телефонов Cisco серии SPA50x, SPA30x и SPA525G2
Процесс русификации достаточно прост:
Нужно:
1. TFTP сервер
2. ПК с установленным интернет браузером для подключения к телефону.
3. Телефон.
4. Файлы локализации. Загружать архив отсюда: https://supportforums.cisco.com/docs/DOC-9923(архив необходимо разархивировать)
Делаем
1. Адрес ПК, с которого ведется настройка 192.168.1.2,маска 255.255.255.0. На нем, также, у нас установлен TFTP сервер(на венде юзаю tftpd32), в корень которого загружены файлы локализации в виде XML. Я оставлял Ангельский и Русский
2. В телефон вбиваем адрес 192.168.1.3, маска 255.255.255.0.
3. В строке адреса в интернет браузере введите IP адрес телефона в виде “http://192.168.1.3” без кавычек.
4. На появившемся сайте в верхнем правом углу сайта кликните на ссылке “Admin Login”.
5. В верхнем правом углу сайта кликните на ссылке “advanced”.
6. Выберите вкладку “Voice”.
7. Выберите вкладку “Regional”.
8. Промотайте вниз до конца страницы.
9. В поле “Dictionary server Script” введите: serv=tftp://192.168.1.2/; d0=English; x0=spa50x_30x_en_v749.xml; d1=Russian; x1=spa50x_30x_ru_v749.xml;
где:
192.168.1.2 – адрес вашего TFTP сервера
spa50x_30x_en_v749.xml и spa50x_30x_ru_v749.xml – имена файлов локализации
З.Ы. Вышла новая версия прошивки и 7.5.4 настоятельно советую обновится(если нужны файлы пишите)
10. В поле “Language Selection” необходимо прописать “Russian” (без кавычек).
11. В “Default Character Encoding” выбрать UTF-8.
12. Нажать “Submit All Changes” на той же странице.
Телефон перезагрузится, скачает локализацию… Всё!
В случае использования сервера конфигураций и XML скриптов, необходимо эти же поля (пп.9-11) отобразить в скрипте, название и синтаксис пунктов можно посмотреть в administration guide.
II. Прошивка этих(50XG) кошек вообще элементарна
0. Смотрим текущую версию нажимаем кнопку “листочек с завернутым уголком, под конвертиком” жмакаем 10 потом 3
1. Если у нас версия прошивки на телефоне ниже 7.5(у меня была 7.4.8), то
1.1 Скачиваем сначала Версию 7.5.2b
1.2 Распаковываем архив, запускаем ехешник, в появившемся окошечке вбиваем IP телефона, соглашаемся и ждемс…
1.3 После перезагрузки(после прошивки на компе может выпасть окошко, что версия не совпадает, прошивка не удалась – не обращаем внимания) смотрим версию прошивки, должна быть 7.5.2b
2. Аналогичным запуском ехешника шьем до 7.5.4
Прошивка 525 происходит через веб-ифейс, поэтому на ней останавливаться нет смысла.
Статус телефона в формате xml, можно парсить для всяких своих нужд().
http://phone_IP_address/admin/status.xml
Посмотреть конфиг:
http://phone_IP_address/admin/spacfg.xml
III. Теперь добавим функционала:
Использование свободных кнопок линий(вертикальные кнопки возле экрана)
1. Admin Login > advanced > Voice > Phone
2. Выбираем свободную кнопку (например 4)
3. Extension: и из выпадающего списка выбираем Disabled.
4. Дописываем в Extended Function field необходимый нам функционал синтаксис: fnc=type.
Например:
Extended Function: fnc=blf+sd;sub=DND350@$PROXY;ext=DND350@$PROXY
Short Name: Какое пожелаете)
где
fnc: function(функция)
type может принимать значения:
xml: доступ к XML сервисам. XML сервис настраивается в закладке Phone раздел XML Service.
Синтаксис: fnc=xml;URL=http://xxx.xx.xxx/entry.html
mp3: Вызывает mp3 плеер(для SPA525)
weather: доступ к информации о погоде
news: доступ к новостям.
blf: busy lamp field
cp: call pickup(принять вызов для другого человека)
sub: название станции
ext или usr: доб номер или пользователь.
sd: speeddial(быстрый набор!)
Также можно использовать переменные:
$PROXY
$USER
Хотел сделать красивые картинки при загрузке телефона, и бекграундом… на 525G смотрится нормально, на 508 если подписать все 8 линий, экран заканчивается)
Кому нужно
SPA303 и Cisco SPA5XXG, Admin Login > advanced >Voice > Phone.
SPA525G или Cisco SPA525G2, Admin Login > advanced >Voice > User.
Формат: при старте монохром 128х48 bmp, при загрузке я предпочитаю текст.
В качестве фоновой картинки для 525 jpg 320×240, учтите что картинка будет отображена не вся, ведь у нас есть еще кнопки внизу экрана.
Также можно настроить контрастность, скринсейвер)
Admin Login >advanced > Voice > User настраивается отображение даты, переадресации.
Теперь переходим к более важной штуке: настройке софткей(нижних кнопочек на экране.)
Как мы все знаем, по умолчанию кошка сама выбрала за нас какие кнопки отображать, а какие нет, давайте настроим под себя.
1. Admin Login > advanced > Voice > Phone.
2. Под Programmable Softkey Enable, ставим yes.
Ниже отображаются состояния телефона относительно которых можно задать меню. Кнопки разделены с помощью ;
Формат:
softkeyname|[position]
где softkeyname – название кнопки
position – расположение кнопки на экране. 1- нижний левый угол, для номеров больше 5, будет доступна кнопка more(Далее). Если позиция не занята, то кнопка появится на первом свободном месте.
Примечание: Для 525G кнопка More(Далее) находится на 4м месте и ее положение не может быть изменено.
Доступные варианты:
Название | Метка | Описание | Состояние телефона |
---|---|---|---|
acd_login | Login | Включить пользователя в Automatic Call Distribution (ACD) | idle(не используется) |
acd_logout | Logout | Выключить пользователя в Automatic Call Distribution (ACD) | idle(не используется) |
alpha | Alpha | Включить ввод абонента не цифрами, а буковками | Off-Hook(трубка на рычаге), Dialing Input(ввод номера) |
answer | Answer | Ответ на входящий вызов | Ringing(входящий вызов) |
avail | Avail | Сообщает что пользователь который залогинился в ACD доступен | idle(не используется) |
barge | barge | Позволяет другому пользователю прервать расшареный звонок | Shared-Active,Shared-Held(используется SLA) |
bxfer | BlindXfer/bxfer | трансфер звонка без, разговора с тем, кому трансферим | Connected(активный разговор) |
cancel | cancel | отмена звонка(например когда конференция и вторая сторона не отвечает) | Dialing Input(ввод номера) |
cfwd | Forward | Переадресация всех входящих вызовов на определенный номер | Idle, Off-Hook,Hold, Shared-Active, Shared-Held |
chkcfwd | Clr Fwd/-cfwd | Отмена переадресации | Idle |
chkdnd | Clr DND/-dnd | Отмена режима “Не беспокоить” | Idle |
clear | clear | очистка всего введенного текста | Input |
conf | conf | Инициируем конференц звонок. Необходимо чтобы Conf Serv был включен и более двух звонков было активно. | Connected,Start-Conf |
confLx | Conf Line | Включает в конференцию активные линии на телефоне. Необходимо чтобы Conf Serv был включен и более двух звонков было активно. | Connected |
delchar | delChar | Удаляет введенный символ | Dialing (input) |
dial | dial | Набрать номер | Dialing (input) |
dir | dir | Открывает справочник | Idle, Connected,Start-Conf, Start-Xfer, Off-Hook(no input), Redial |
dnd | dnd | Режим не беспокоить | Idle, Off-Hook(no input), Hold,Shared-Active,Shared-Held |
em_login | Login | Логинимся пользователем в режиме Extension Mobility(номер не привязан к телефону) | Idle |
em_logout | logout | Выходим пользователем из режима Extension Mobility(номер не привязан к телефону) | Idle |
endcall | End Call | Завершить вызов | Connected, Offhook,Progressing,Start-Xfer, Start-Conf,Conferencing,Releasing,Resume |
endcall | End Call | Завершить вызов | Connected, Offhook,Progressing,Start-Xfer, Start-Conf,Conferencing,Releasing,Resume |
gpickup | GrPickup/grPick | Позволяет пользователю принять вызов для определенного номера по его номеру | Idle, Off-Hook(no input) |
hold | hold | Поставить звонок на ожидание | Connected,Start-Xfer, Start-Conf,Conferencing |
ignore | ignore | Игнорировать входящий вызов | Ringing |
join | join | Присоединить к конференц звонку | Conferencing |
lcr | Call Rtn/lcr | последний пропущенный вызов | Idle, Missed-Call,Off-Hook (noinput) |
left | left | Переместить курсор влево | Dialing Input |
miss | miss | отобразит пропущенные вызовы | Missed-Call |
newcall | New Call | Новый вызов | Hold, Shared-Active |
option | option | Опции вызова(номер, IP) | Off-Hook (noinput), Dialing(input) |
park | park | Парковка вызова на определенный номер | Connected |
phold | PrivHold | Ставит вызов на ожидание при активной shared line. | Connected |
pickup | Pickup | Ответить на вызов для другого номера(введя его) | Idle, Off-Hook(no input) |
redial | redial | Отображает список повторного набора | Idle, Connected,Start-Conf, Start-Xfer, Off-Hook(no input), Hold |
resume | resume | Вернуть вызов с ожидания | Idle, Hold,Shared-Held |
right | right | переместить курсор вправо | Dialing (input) |
starcode | Input StarCode/*code | Список доступных старкодов | Off-Hook, Dialing(input) |
toggle | Toggle | Переключаемся между двумя активными вызовами (Cisco SPA502) | Connected |
unavail | Unavail | Обозначает что пользователь залогинившийся в ACD установил статус как недоступный | Idle |
unpark | unpark | вернуть припаркованный вызов | Idle, Off-Hook(no input) |
xfer | Transfer/xfer | Трансфер вызова.Attn Xfer Serv должен быть включен и хотя бы 1 активный звонок и 1 простаивающий | Connected,Start-Xfer |
xferLx | Xfer Line/xferLx | Трансфер активной линии.Attn Xfer Serv должен быть включен и минимум 2 активных звонка или на ожидании | Connected |
Для SPA525G2 возможно включить кнопку записи и остановки записи с помощью crdstart;crdstop; и не забываем включить саму возможность записи.
Также можно настроить до 16 программируемых софткнопок(PSK) к ним можно привязать как кнопки быстрого набора так и специальные комбинации старкоды (*ХХ). PSK можно настроить и с помощью XML.
Формат:
fnc=sd;ext=extensionname/starcode@$PROXY;[vid=outboundextnum;]nme=name
vid – указывает номер с какого мы будем звонить(),
nme – имя которое будет отображаться на телефоне
Для реализации переключаемых кнопок:
fnc=sd;ext=starcode@$PROXY;nme=name;ext2=starcode@PROXY;nme2=name2
Реализация HOLD кнопки
fnc=sd;ext=*67@$PROXY;nme=hold;ext2=*68@$PROXY;nme2=
resume;holdkey=yes
с помощью XML
fnc=xml;nme=scriptname;url=http://scriptURL.xml
Можно использовать следующие макроопределения в XML URLs:
• User ID—UID1, UID2
• Display name—DISPLAYNAME1, DISPLAYNAME2
• Auth ID—AUTHID1, AUTHID2
• Proxy—PROXY1, PROXY2
• MAC Address—MA
• Product Name—PN
• Product Series Number—PSN
• Serial Number—SERIAL_NUMBER
Рингтоны:
Рингтоны можно скачивать по tftp :
http://phone_ip_addr/ringtone1?[url]
Где [url] tftp://host[:port]/path
Утилитой(приоритетнее):
https://supportforums.cisco.com/docs/DOC-9944
• 16-bit PCM mono
• 8000 samples per second
• Less than 6000 ms in length
Тема пока что актуальна(зимнее/летнее время)
в Voice->regional->Daylight Saving Time Rule:
Синтаксис:
Start = start-time; end=end-time; save = save-time где время задается в формате: month/day/weekday[/HH:mm:ss]
month =1-12
day=-31-31
weekday=-7-7
Пример:
Первые два выражения эквивалентны: начинаем в первое воскресенье Апреля в полночь и заканчиваем в последнее воскресенье Октября в полночь
start=4/1/7/0:0:0;end=10/31/7/0:0:0;save=1
start=4/1/7;end=10/-1/7;save=1
Украина Начинаем последнее воскресенье марта в 3 ночи заканчиваем в последнее воскресенье октября в 3 ночи.
start=3/-1/7/3;end=10/-1/7/3;save=1
Естественно ставим Daylight Saving Time Enable:yes
Записная книжка
Voice->Phone
Находим XML Service
И заполняем поля
XML Directory Service Name: CompanyName – как будет отображаться в телефоне справочник
XML Directory Service URL: http://10.199.139.200/Directory.xml тут пишем адрес справочника
<?xml version=”1.0″ encoding=”UTF-8″ ?>
<CiscoIPPhoneDirectory>
<Title>Компания</Title>
<Prompt>Выбери пользователя</Prompt>
<DirectoryEntry>
<Name>Андрей</Name>
<Telephone>414</Telephone>
</DirectoryEntry>
<DirectoryEntry>
<Name>Алексей</Name>
<Telephone>640</Telephone>
</DirectoryEntry>
</CiscoIPPhoneDirectory>
Маленькие полезности(Добавив некоторые строчки в заголовок sip мы можем):
1. Произвольный рингтон, устанавливаем на стороне станции, но не можем выставить пользовательскую(ту что сами загрузили в телефон) мелодию!!!
same => n,SIPAddHeader(Alert-Info:Pulse)
1а. Для того чтобы играть и пользовательскую мелодию, необходимо Personal Directory(адресную книгу) добавить контакт например:
n=bos;p=123456;r=13
где n=имя контакта,
p=номер телефона,
r=номер рингтона
2. Мгновенный ответ на входящий звонок
SIPAddHeader(Call-Info:\;answer-after=0)
3. Dial_Assistance – при наборе номера телефон будет предлагать варианты из списка звонков и из ЛОКАЛЬНОЙ адресной книги(как в мобилке) начали вводить 6 оно тебе варианты на 6, ввели потом 4 оно сузило варианты… Как по мне очень удобно.
UPD1: В версии 7.5.5 добавили функцию Show DTMF Digits When Connected
При разговоре будут отображаться последние 15 циферок которые вы нажали, удобно когда звонишь в колл-центр и смотришь в какую же менюху ты полез.
UPD2: В версии 7.5.6 Добавили Auto Register when Failover
Авторегистрация на резервной проксе(когда основная упала). После успешной перерегистрации INVITE отправляется к новой проксе.