­
Новости
Обзоры и тесты
Техно
Советы
Разное
Главная » Техно

Настройка IP телефона Cisco 79XX для работы по протоколу SIP

Добавлено на 13.03.2015 – 11:50 22 комментария

Как известно, корпоративные телефоны Cisco 79ой серии качественные и удобные, но к сожалению, ориентированы на работу c IP АТС Cisco Unified Communications Manager и для их перенастройки на работу с другой IP АТС, например Asterisk, нужно выполнить не тривиальные действия.Главная проблема перенастройки, заключается в том, что у телефонов Cisco отсутствует привычный веб-интерфейс для конфигурирования как у других телефонов, вместо этого нужно писать xml конфигурацию и подгружать в телефон их по TFTP.

Второй момент – по умолчанию в телефонах загружена прошивка работающая по протоколу SCCP(Cisco Skinny Client Control Protocol)- проприетарный протокол созданный для VoIP продуктов Cisco, прошивку также нужно сменить на версию с поддержкой SIP.
Процесс загрузки и самонастройки телефона выглядит следующим образом:
После включения телефона, в случае использования DHCP, телефон запрашивает настройки IP и опцию 150 (option voip-tftp-servers) адресTFTP-сервера, откуда телефон автоматически загрузит файлы конфигурации и прошивку в случае необходимости. После получения настроек IP по DHCP и адреса TFTP-сервера, телефон запрашивает файлы конфигурации, среди которых основной файл SEP-MAC-адрес-телефона.cnf.xml который содержит версию прошивки которую нужно загрузить, настройки локализации, в нашем случае для России, настройки SIP линий, кнопок телефона, плана набора,адрес сервера XML сервисов и прочих настроек. Далее, телефон проверяет соответствие настроек конфигурации с теми, что загружены и в случае несоответствия загружает новые файлы.
Итак, в качестве примера используется IP телефон Cisco 7945G и IP АТС Asterisk,
нам понадобится:

  • DHCP-сервер
  • TFTP-сервер
  • NTP-сервер
  • Прошивка SIP cmterm-7945_7965-sip.8-5-4.zip
  • Файлы русской локализации po-locale-ru_RU-8.4.3.1000-1.exe
  • HTTP-сервер для XML-сервисов, если необходимо загрузить, например, корпоративный справочник.

В качестве платформы я использую дистрибутив CentOS. Сначала необходимо настроить DHCP-сервер и указать в опции option voip-tftp-servers адрес хоста где будет работать TFTP-сервер на котором будут лежать все загрузочные файлы для IP телефона.
Пример содержимого конфигурационого файла dhcpd.conf дистрибутива CentOS:

option domain-name "localdomain";
authoritative;
option domain-name-servers 192.168.1.253;
option voip-tftp-servers code 150 = ip-address;
option voip-tftp-servers 192.168.1.253;
subnet 192.168.1.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.1.10 192.168.1.250;
option broadcast-address 192.168.1.255;
option routers 192.168.1.253; }

Телефоны будут получать IP из сети 192.168.1.0, Asterisk, TFTP-сервер, и шлюз по умолчанию будет иметь IP=192.168.1.253.

Кстати, можно обойтись без DHCP-сервера, через меню телефона назначить ему статический IP и вручную указать TFTP-сервер.
Для разблокировки настроек телефона нажать **#
Также находясь в меню можно перезагрузить телефон, для этого нажать **#**
Далее, запускаем NTP сервер для синхронизации времени на телефона, в моем случае достаточно запустить сервис ntpd из коробки, для дистрибутива CentOS.
Теперь устанавливаем http-сервер, он понадобится только если вы захотите использовать, например, корпоративный справочник на телефоне, при нажатии кнопки services, телефон по http обратится по указанному в конфигурации адресу и покажет записи, примеров создания справочников в интернете много, я лишь ограничусь самым простым примером статического справочника.
просто выложу файл xmldirectory.xml в директорию ccmcip на сервере. Его содержимое приведено ниже,а ссылка на него есть xml файле конфигурации IP-телефона, в тегах

1
<directoryURL></directoryURL>

Далее, устанавливаем и запускаем TFTP-сервер.
У меня это модуль службы xinetd, который устанавливается из пакета. Из пакетов также легко ставится DHCP-сервер и NTP-сервер.
Конфигурация службы TFTP, файл /etc/xinetd.d/tftp

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
bind = 192.168.1.253
}

Директория сервера в которой будут лежать файлы /var/lib/tftpboot, в неё следует поместить все файлы прошивок, локали и конфигурации.
Как пишут в Интернете пользователи, версия cmterm-7945_7965-sip.8-5-4.zip самая удачная, и лучше использовать именно её. Сами файлы без труда можно найти в интернете, на сайте Cisco никакие прошивки без сервисного контракта естественно не скачать.
Итак, распаковываем архив в корень TFTP, должны быть следующие файлы:

apps45.8-5-4TH1-6.sbn
cnu45.8-5-4TH1-6.sbn
cvm45sip.8-5-4TH1-6.sbn
dsp45.8-5-4TH1-6.sbn
jar45sip.8-5-4TH1-6.sbn
SIP45.8-5-4S.loads
term45.default.loads
term65.default.loads

Теперь нужно скопировать файлы из po-locale-ru_RU-8.4.3.1000-1.exe. Для этого нужно запустить файл, больше ничего не нажимать(если нажать, будет выдана ошибка а директория с интересующими нас файлами будет удалена из %temp%), затем перейти в директорию %temp% для Windows там отсортировать директории по времени создания. Нужная нам директория будет иметь имя наподобие {E87E99FE-6D8C-4971-B6E4-61078D70A350} на TFTP-сервер нужно скопировать содержимое этой директории по пути /Disk1\ISTeleport\Russian_Russian_Federation\PROGRA~\Cisco\TFTPPath\Russian_Russian_Federation
в директорию Russian_Russian_Federation созданную в корне TFTP-сервера, список файлов:

7905-kate.xml
7920-dictionary.xml
7920-font.xml
7920-kate.xml
7921-dictionary.xml
7921-font.dat
7921-kate.utf-8.xml
7921-kate.xml
7960-dictionary.xml
7960-dictionary-ext.xml
7960-font.xml
7960-kate.xml
be-sccp.jar
be-sip.jar
ipc-sccp.jar
mk-sccp.jar
mk-sip.jar
SCCP-dictionary.utf-8.xml
SCCP-dictionary.xml
SCCP-dictionary-ext.xml
tc-sccp.jar
tc-sip.jar
td-sccp.jar
td-sip.jar
7905-dictionary.xml
7905-font.xml

Теперь необходимо подготовить файл конфигурации телефона, мой телефон имеет MAC-адрес 00235E186B89, поэтому файл будет называться SEP00235E186B89.cnf.xml
Содержимое файла конфигурации:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
<?xml version="1.0" encoding="UTF-8"?>
<!--Файл должен обязательно начинаться с этой строки>
<device xsi:type="axl:XIPPhone" ctiid="966" uuid="{ec039a47-2b24-d05b-6ae3-2c18e269a9df}">
<!--Содержимое тега device должно иметь такой вид, причем нужно указать uuid >
<fullConfig>true</fullConfig>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId></sshUserId>
<sshPassword></sshPassword>
<devicePool>
<revertPriority>0</revertPriority>
<name>Default</name>
<dateTimeSetting>
<name>CMLocal</name>
<dateTemplate>D.M.Y</dateTemplate>
<timeZone>Russian Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>192.168.1.253</name>
<ntpMode>Unicast</ntpMode>
<!--Я использую NTP сервер>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<name>Default</name>
<tftpDefault>false</tftpDefault>
<members>
<member priority="0">
<callManager>
<name>192.168.1.253</name>
<!--IP адрес сервера Asterisk>
<description>Asterisk</description>
 <ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>127.0.0.1</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<srstInfo>
<name>Disable</name>
<srstOption>Disable</srstOption>
<userModifiable>false</userModifiable>
<ipAddr1></ipAddr1>
<port1>2000</port1>
<ipAddr2></ipAddr2>
<port2>2000</port2>
<ipAddr3></ipAddr3>
<port3>2000</port3>
<sipIpAddr1></sipIpAddr1>
<sipPort1>5060</sipPort1>
<sipIpAddr2></sipIpAddr2>
<sipPort2>5060</sipPort2>
<sipIpAddr3></sipIpAddr3>
<sipPort3>5060</sipPort3>
<isSecure>false</isSecure>
</srstInfo>
<mlppDomainId>-1</mlppDomainId>
<mlppIndicationStatus>Default</mlppIndicationStatus>
<preemption>Default</preemption>
<connectionMonitorDuration>120</connectionMonitorDuration>
</devicePool>
<sipProfile>
<sipProxies>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
<callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
<callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
<callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
<meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
<abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
<rfc2543Hold>false</rfc2543Hold>
<callHoldRingback>2</callHoldRingback>
<localCfwdEnable>true</localCfwdEnable>
<semiAttendedTransfer>true</semiAttendedTransfer>
<anonymousCallBlock>2</anonymousCallBlock>
<callerIdBlocking>2</callerIdBlocking>
<dndControl>0</dndControl>
<remoteCcEnable>true</remoteCcEnable>
<retainForwardInformation>false</retainForwardInformation>
</sipCallFeatures>
<sipStack>
<sipInviteRetx>6</sipInviteRetx>
<sipRetx>10</sipRetx>
<timerInviteExpires>180</timerInviteExpires>
<timerRegisterExpires>300</timerRegisterExpires>
<!--Я поставил время 300, очень советую включить qualify на Asterisk>
<timerRegisterDelta>5</timerRegisterDelta>
<timerKeepAliveExpires>120</timerKeepAliveExpires>
<timerSubscribeExpires>120</timerSubscribeExpires>
<timerSubscribeDelta>5</timerSubscribeDelta>
<timerT1>500</timerT1>
<timerT2>4000</timerT2>
<maxRedirects>70</maxRedirects>
<remotePartyID>true</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<kpml>3</kpml>
<phoneLabel>Kudryavtsev</phoneLabel>
<!--Метка которая будет выводится на телефоне в верхнем правом углу экрана, максимум 11 символов без пробелов>
<stutterMsgWaiting>2</stutterMsgWaiting>
<callStats>true</callStats>
<offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
<poundEndOfDial>false</poundEndOfDial>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<sipLines>
<line button="1" lineIndex="1">
<!--Ниже в теге line button="1" Настройка первой линии, также настраиваются остальные линии, которые привязаны к боковым кнопкам слева от экрана>
<featureID>9</featureID>
<featureLabel>Ignat 100</featureLabel>
<!--Метка которая будет отображаться на экране около кнопки линии>
<proxy>192.168.1.253</proxy>
<!--IP адрес сервера Asterisk>
<port>5060</port>
<!--Порт SIP -->
<name>100</name>
<!--отобразится в верхнем правом углу экрана телефона>
<displayName>100</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>100</authName>
<authPassword>somepass</authPassword>
<--Имя и пароль для авторизации на Asterisk в примере линия 100>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber></messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>100</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button="2" lineIndex="2">
<featureID>9</featureID>
<featureLabel>101</featureLabel>
<proxy>192.168.1.253</proxy>
<port>5060</port>
<name>101</name>
<displayName>101</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>101</authName>
<authPassword>somepass2</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber></messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>101</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
</sipLines>
<externalNumberMask></externalNumberMask>
<voipControlPort>5060</voipControlPort>
<!--Порт SIP -->
<dscpForAudio>184</dscpForAudio>
<dscpVideo>136</dscpVideo>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
<!--второй обязательный файл, его содержимое приводится ниже>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
</sipProfile>
<MissedCallLoggingOption>10</MissedCallLoggingOption>
<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>3</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP45.8-5-4S</loadInformation>
<!--Версия нашей прошивки SIP которая будет загружена если на телефоне отличая от неё версия-->
<vendorConfig>
<disableSpeaker>false</disableSpeaker><disableSpeakerAndHeadset>false</disableSpeakerAndHeadset><forwardingDelay>1</forwardingDelay><pcPort>0</pcPort><settingsAccess>1</settingsAccess><garp>1</garp><voiceVlanAccess>0</voiceVlanAccess><videoCapability>0</videoCapability><autoSelectLineEnable>0</autoSelectLineEnable><webAccess>0</webAccess><daysDisplayNotActive>1,7</daysDisplayNotActive><displayOnTime>07:30</displayOnTime><displayOnDuration>10:30</displayOnDuration><displayIdleTimeout>01:00</displayIdleTimeout><spanToPCPort>1</spanToPCPort><loggingDisplay>1</loggingDisplay><loadServer></loadServer><recordingTone>0</recordingTone><recordingToneLocalVolume>100</recordingToneLocalVolume><recordingToneRemoteVolume>50</recordingToneRemoteVolume><recordingToneDuration></recordingToneDuration><displayOnWhenIncomingCall>0</displayOnWhenIncomingCall><rtcp>0</rtcp><moreKeyReversionTimer>5</moreKeyReversionTimer><autoCallSelect>1</autoCallSelect><logServer></logServer><g722CodecSupport>0</g722CodecSupport><headsetWidebandUIControl>0</headsetWidebandUIControl><headsetWidebandEnable>0</headsetWidebandEnable><peerFirmwareSharing>0</peerFirmwareSharing><enableCdpSwPort>1</enableCdpSwPort><enableCdpPcPort>1</enableCdpPcPort><enableLldpSwPort>1</enableLldpSwPort><enableLldpPcPort>1</enableLldpPcPort><lldpAssetId></lldpAssetId><powerPriority>0</powerPriority><ehookEnable>0</ehookEnable><detectCMConnectionFailure>0</detectCMConnectionFailure><minimumRingVolume>0</minimumRingVolume><handsetHeadsetMonitor>1</handsetHeadsetMonitor><useEnblocDialing>1</useEnblocDialing><SWRemoteConfig>0</SWRemoteConfig><PCRemoteConfig>0</PCRemoteConfig><PortAutoLinkSync>0</PortAutoLinkSync></vendorConfig>
<userLocale>
<name>Russian_Russian_Federation</name>
<!--Здесь и ниже указывает что нужно использовать русскую локаль-->
<uid>5</uid>
<langCode>ru_RU</langCode>
<version></version>
<winCharSet>UTF-8</winCharSet>
</userLocale>
<networkLocale>Russian_Federation</networkLocale>
<networkLocaleInfo>
<name>Russian_Federation</name>
<uid>50</uid>
<version></version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<idleTimeout>0</idleTimeout>
<authenticationURL>http://192.168.1.253/ccmcip/authenticate.jsp</authenticationURL>
<!--В моем случае ссылки не используются>
<idleURL></idleURL>
<!--В моем случае ссылка не используется>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<!--Путь к статическому файлу содержащему справочник, он откроется при нажатии на телефоне кнопки services>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>4</transportLayerProtocol>
<dndCallAlert>5</dndCallAlert>
<phonePersonalization>0</phonePersonalization>
<singleButtonBarge>0</singleButtonBarge>
<joinAcrossLines>0</joinAcrossLines>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
<processNodeName>192.168.1.253</processNodeName>
</capf>
</capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
<advertiseG722Codec>1</advertiseG722Codec>
<mobility>
<handoffdn></handoffdn>
<dtmfdn></dtmfdn>
<ivrdn>3999</ivrdn>
<dtmfHoldCode>*81</dtmfHoldCode>
<dtmfExclusiveHoldCode>*82</dtmfExclusiveHoldCode>
<dtmfResumeCode>*83</dtmfResumeCode>
<dtmfTxfCode>*84</dtmfTxfCode>
<dtmfCnfCode>*85</dtmfCnfCode>
</mobility>
</device>

Приведенная конфигурация является рабочей, её можно скопировать и перенастроить под свой телефон выделенные жирным строки конфигурации, также можно удалить комментарии заключенные в скобки

1
<!-- -->

Кстати замечу что тег

1
<webAccess>0</webAccess>

говорит о том что доступ на веб-интерфейс телефона будет открыт, это полезно для отладки телефона и просмотра настроек.
Файл dialplan.xml обязательно нужен, без него с телефона ничего будет не набрать,
самый простой конфиг позвояющий набирать любые цифры:

1
2
3
<DIALTEMPLATE>
<TEMPLATE MATCH="*" Timeout="3"/> <!-- Anything else -->
</DIALTEMPLATE>

Более сложные планы набора можно легко найти в интернете.
Следующий файл справочник xmldirectory.xml в директории
/var/www/ccmcip/var/www – корневая директория apache в CentOS.
Вот его содержимое:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<CiscoIPPhoneDirectory>
<Title>Personal Directory</Title>
<Prompt>Prompt text</Prompt>
<DirectoryEntry>
<Name>Ignat</Name>
<Telephone>100</Telephone>
</DirectoryEntry>
<DirectoryEntry>
<Name>Ignat2</Name>
<Telephone>2253434</Telephone>
</DirectoryEntry>
</CiscoIPPhoneDirectory>

Здесь в качестве примера 2 записи, ограничение прошивки на 32 записи.
Но при помощи «софт» кнопок можно реализовать постраничную прокрутку, в интернете есть примеры реализации.
Все, теперь все подготовительные работы выполнены, осталось настроить Asterisk:
В версии прошивки 8-5-4S есть поддержка UDP в качестве транспорта.
Поэтому нам нужно просто добавить абонента в sip.conf:

[100]
deny=0.0.0.0/0.0.0.0
permit=192.168.1.0/255.255.255.0
type=friend
context=phones
host=dynamic
secret=somepass
dtmfmode=rfc2833
call-limit=2
disallow=all
allow=ulaw
allow=alaw
pickupgroup=1
callgroup=1
qualify=yes

Здесь важна настройка qualify=yes она говорит о том что телефон нужно «пинговать» SIP опциями. Без этой настройки у меня периодически отваливалась регистрация на телефоне 7945.
Все готово, можно подключать телефон, если все корректно настроено, устройство получит IP, загрузит конфигурацию и прошивку с TFTP-сервера и перепрошьется, затем загрузит настройки русской локализации, все меню отобразятся на русском языке, затем IP-телефон зарегистрируется и будет готов к работе.

Автор: Игнат Кудрявцев

Tags: , , , , ,

22 комментария »

Отмена

Напишите Ваш комментарий ниже. Также Вы можете подписаться на комментарии к материалу через RSS

Вы можете использовать следующие теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

Мы поддерживаем Gravatar.

Контроль спама: *