Страница 1 из 1

Asterisk/Elastix: Подключение IP-Phone Cisco 7975G - SIP

Добавлено: 11 апр 2017, 20:36
xor
Для подключения аппарата 7975 к Астериску в первую очередь нужно подогнать Firmware телефона до нужного релиза.
Чаще телефоны идут с SCCP фирмварой, и работают только с CUCM/CME.
Софт берем на офсайте cisco.com, доступен для любого аккаунта, сервисный контракт для скачивания не требуется.
cmterm-7975-sip.9-4-2SR3-1.zip

Следующим шагом будет поднятие TFTP сервера. Используйте любой. Мне удобно было на Linux машине развернуть самый базовый tftpd.
По TFTP телефон тянет новый софт, конфиг, диалплан и прочие семечки.
В root каталог tftp сервера нужно распаковать содержимое скачанного с циски архива. Так же туда нужно положить пару файликов с конфигом и диалпланом.
Файл конфига имеет строго определенный формат имени: SEP<PHONE_MAC>.cnf.xml (например SEP04FDDE440040.cnf.xml)
Содержимое конфига такое:
%NTP_SERVER% - адрес NTP сервера.
%ASTERISK_HOST% - адрес Asterisk станции.
%SOFT_VERSION% - версия софта для загрузки/обновления (например SIP75.9-4-2SR3-1S).
%ABON_NAME% - Лейбл абонента.
%EXTEN% - Extention номер на станции (он же SIP логин).
%PASSWORD% - SIP пароль абонента.
%DIRECTORY_SCRIPT% - URL адрес к скрипту для загрузки адресной книги.

Код: Выделить всё

<device>
    <fullConfig>true</fullConfig>
    <deviceProtocol>SIP</deviceProtocol>
    <devicePool>
        <dateTimeSetting>
            <dateTemplate>D.M.Y</dateTemplate>
            <timeZone>Russian Standard/Daylight Time</timeZone>
            <ntps>
                <ntp>
                    <name>%NTP_SERVER%</name>
                    <ntpMode>Unicast</ntpMode>
                </ntp>
            </ntps>
        </dateTimeSetting>
        <callManagerGroup>
            <tftpDefault>true</tftpDefault>
                <members>
                <member priority="0">
                <callManager>
                    <name>%ASTERISK_HOST%</name>
                    <description>CallManager 5.0</description>
                    <ports>
                      <ethernetPhonePort>2000</ethernetPhonePort>
                      <sipPort>5060</sipPort>
                      <securedSipPort>5061</securedSipPort>
                    </ports>
                    <processNodeName>%ASTERISK_HOST%</processNodeName>
                </callManager>
                </member>
                </members>
        </callManagerGroup>
    </devicePool>
    <commonProfile>
        <phonePassword></phonePassword>
        <backgroundImageAccess>true</backgroundImageAccess>
        <callLogBlfEnabled>0</callLogBlfEnabled>
    </commonProfile>
    <loadInformation>%SOFT_VERSION%</loadInformation>
    <loadInformation434  model="Cisco 7975G">%SOFT_VERSION%</loadInformation434>
    <vendorConfig>
        <disableSpeaker>false</disableSpeaker>
        <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
        <pcPort>0</pcPort>
        <settingsAccess>1</settingsAccess>
        <garp>0</garp>
        <voiceVlanAccess>0</voiceVlanAccess>
        <videoCapability>0</videoCapability>
        <autoSelectLineEnable>0</autoSelectLineEnable>
        <daysDisplayNotActive>1,7</daysDisplayNotActive>
        <displayOnTime>10:30</displayOnTime>
        <displayOnDuration>06:05</displayOnDuration>
        <displayIdleTimeout>00:05</displayIdleTimeout>
        <webAccess>1</webAccess>
        <spanToPCPort>1</spanToPCPort>
        <loggingDisplay>1</loggingDisplay>
        <loadServer></loadServer>
    </vendorConfig>

    <deviceSecurityMode>1</deviceSecurityMode>
    <idleTimeout>0</idleTimeout>
    <directoryURL></directoryURL> 
    <servicesURL>%DIRECTORY_SCRIPT%</servicesURL> 
    <idleURL></idleURL>
    <messagesURL></messagesURL>
    <proxyServerURL></proxyServerURL>
    <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
    <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
    <dscpForCm2Dvce>96</dscpForCm2Dvce>
    <transportLayerProtocol>2</transportLayerProtocol>
    <capfAuthMode>0</capfAuthMode>
    <capfList>
        <capf>
            <phonePort>3804</phonePort>
        </capf>
    </capfList>
    <certHash></certHash>
    <encrConfig>false</encrConfig>
    <sipProfile>
        <sipProxies>
            <backupProxy>%ASTERISK_HOST%</backupProxy>
            <backupProxyPort>5060</backupProxyPort>
            <emergencyProxy>%ASTERISK_HOST%</emergencyProxy>
            <emergencyProxyPort>5060</emergencyProxyPort>
            <outboundProxy>%ASTERISK_HOST%</outboundProxy>
            <outboundProxyPort>5060</outboundProxyPort>
            <registerWithProxy>true</registerWithProxy>
        </sipProxies>
     <sipCallFeatures>
        <cnfJoinEnabled>true</cnfJoinEnabled>
        <callForwardURI>x--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>
     </sipCallFeatures> 
     <sipStack>
        <sipInviteRetx>6</sipInviteRetx>
        <sipRetx>10</sipRetx>
        <timerInviteExpires>180</timerInviteExpires>
        <timerRegisterExpires>3600</timerRegisterExpires>
        <timerRegisterDelta>5</timerRegisterDelta>
        <timerKeepAliveExpires>120</timerKeepAliveExpires>
        <timerSubscribeExpires>120</timerSubscribeExpires>
        <timerSubscribeDelta>5</timerSubscribeDelta>
        <timerT1>500</timerT1>
        <timerT2>4000</timerT2>
        <maxRedirects>70</maxRedirects>
        <remotePartyID>false</remotePartyID>
        <userInfo>None</userInfo>
     </sipStack>
     <autoAnswerTimer>1</autoAnswerTimer>
     <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
     <autoAnswerOverride>true</autoAnswerOverride>
     <transferOnhookEnabled>false</transferOnhookEnabled>
     <enableVad>false</enableVad> 
        <preferredCodec>g711alaw</preferredCodec>
       <dtmfAvtPayload>101</dtmfAvtPayload>
       <dtmfDbLevel>3</dtmfDbLevel>
       <dtmfOutofBand>avt</dtmfOutofBand>
        <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
        <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
        <kpml>3</kpml>
        <stutterMsgWaiting>1</stutterMsgWaiting>
        <callStats>true</callStats>
        <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
        <disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
        <startMediaPort>10100</startMediaPort>
        <stopMediaPort>10300</stopMediaPort>
        <voipControlPort>5060</voipControlPort>
        <dscpForAudio>184</dscpForAudio>
        <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
        <dialTemplate>dialplan.xml</dialTemplate> 
        <phoneLabel>Cisco</phoneLabel>
          <natReceivedProcessing>false</natReceivedProcessing>
          <natEnabled>false</natEnabled>
          <natAddress></natAddress>
        <sipLines>
          <line button="1">
            <featureID>9</featureID>
            <featureLabel>%ABON_NAME%</featureLabel>
            <proxy>USECALLMANAGER</proxy>
            <port>5060</port>
            <name>%EXTEN%</name>
            <displayName>%EXTEN%</displayName>
            <autoAnswer>
              <autoAnswerEnabled>2</autoAnswerEnabled>
            </autoAnswer>
            <callWaiting>3</callWaiting>
            <authName>%EXTEN%</authName>
            <authPassword>%PASSWORD%</authPassword>
            <sharedLine>false</sharedLine>
            <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
            <messagesNumber></messagesNumber>
            <ringSettingIdle>4</ringSettingIdle>
            <ringSettingActive>5</ringSettingActive>
            <contact>%EXTEN%</contact>
            <forwardCallInfoDisplay>
              <callerName>true</callerName>
              <callerNumber>false</callerNumber>
              <redirectedNumber>false</redirectedNumber>
              <dialedNumber>true</dialedNumber>
            </forwardCallInfoDisplay>
          </line>
          <line button="2">
              <featureID></featureID>
              <featureLabel></featureLabel>
              <speedDialNumber></speedDialNumber>
          </line>
        </sipLines>
    </sipProfile>

</device>
Файл dialplan.xml содержит простейший диалплан для телефона. Без него не будут работать исходящие вызовы.

Код: Выделить всё

<DIALTEMPLATE>
  <TEMPLATE MATCH="*" Timeout="3"/> <!-- Anything else -->
</DIALTEMPLATE>
Следующим шагом будет настройка DHCP сервера в сети телефонии. В DHCP обязательно указываем опцию 150, указывающую на подготовленный ранее TFTP сервер.

Настройка на астериске типичная, создается новый SIP extension со стандартными параметрами.

Все. Пихаем телефон в нужный VLAN, ждем обновления софта, регистрации телефона на станции, и можно пользоваться.