Here you can find explanation how to setup Cisco 7970 IP Phone with SCCP image to work on Asterisk.
1. Download Asterisk chan_sccp-b from http://sourceforge.net/projects/chan-sccp-b/
2. edit /etc/asterisk/sccp.conf so it looks something like this:
[devices]
type = 7970 ; device type (see below)
autologin = 30,31, ; lines list. You can add an empty line for an empty button (7960, 7970, 7940, 7920)
description = jj7970 ; internal description. Not important
tzoffset = -9
transfer = on ; enable or disable the transfer capability. It does remove the transfer softkey
park = on ; take a look to the compile howto. Park stuff is not compiled by default
speeddial = ; you can add an empty speedial if you want an empty button (7960, 7970, 7920)
speeddial = *97,voicemail,
cfwdall = off ; activate the callforward stuff and softkeys
cfwdbusy = off
dtmfmode = inband ; inband or outofband. outofband is the native cisco dtmf tone play.
; Some phone model does not play dtmf tones while connected (bug?), so the default is inband
; imageversion = P00405000700 ; useful to upgrade old firmwares (the ones that do not load *.xml from the tftp server)
; deny=0.0.0.0/0.0.0.0 ; Same as general
; permit=10.0.0.0/255.255.255.0 ; This device can register only using this ip address
permit=10.0.0.175 /255.255.255.255
dnd = on ; turn on the dnd softkey for this device. Valid values are "off", "on"
; (busy signal), "reject" (busy signal), "silent" (ringer = silent)
trustphoneip = no ; The phone has a ip address. It could be private, so if the phone is behind NAT
; we don't have to trust the phone ip address, but the ip address of the connection
;earlyrtp = none ; valid options: none, offhook, dial, ringout. default is none.
; The audio strem will be open in the progress and connected state.
private = on ; permit the private function softkey for this device
mwilamp = on ; Set the MWI lamp style when MWI active to on, off, wink, flash or blink
mwioncall = off ; Set the MWI on call.
device => SEP0016C87754CE ; device name SEP<MAC>
[lines]
id = 30 ; future use
pin = 1234 ; future use
label = 30 ; button line label (7960, 7970, 7940, 7920)
description = Line 30 ; top diplay description
context = sip ; sccp
incominglimit = 2 ; more than 1 incoming call = call waiting.
transfer = on ; per line transfer capability. on, off, 1, 0
mailbox = 30 ; voicemail.conf (syntax: vmbox[@context][:folder])
vmnum = *97 ; speeddial for voicemail administration, just a number to dial
cid_name = JJJ ; caller id name
cid_num = 30
trnsfvm = 1000 ; extension to redirect the caller (e.g for voicemail)
secondary_dialtone_digits = 9 ; digits for the secondary dialtone (max 9 digits)
secondary_dialtone_tone = 0x21 ; outside dialtone
music ; Sets the default music on hold class
language=en ; Default language setting
;accountcode=79501 ; accountcode to ease billing
rtptos = 184 ; sets the the rtp packets TOS for this line
echocancel = on ; sets the phone echocancel for this line
silencesuppression = off ; sets the silence suppression for this line
;callgroup=1,3-4 ; We are in caller groups 1,3,4. Valid for this line
;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5. Valid for this line
;amaflags = ; Sets the default AMA flag code stored in the CDR record for this line
line => 30
3. edit your /etc/asterisk/extensions.conf
To be added.
4. In root directory of your tftp server put this file SEP<MAC>.cnf.xml which looks like this:
<device xsi:type="axl:XIPPhone">
<devicePool>
<name>Default</name>
<dateTimeSetting>
<name>CMLocal</name>
<dateTemplate>y-M-D</dateTemplate>
<timeZone>W. Europe Standard/Daylight Time</timeZone>
</dateTimeSetting>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>10.0.0.83</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<srstInfo>
<name>Enable</name>
<srstOption>Enable</srstOption>
<userModifiable>true</userModifiable>
<ipAddr1>10.0.0.83</ipAddr1>
<port1>2000</port1>
<ipAddr2></ipAddr2>
<port2>2000</port2>
<ipAddr3></ipAddr3>
<port3>2000</port3>
</srstInfo>
<mlppDomainId>-1</mlppDomainId>
<mlppIndicationStatus>Default</mlppIndicationStatus>
<preemption>Default</preemption>
</devicePool>
<loadInformation></loadInformation>
<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<forwardingDelay>1</forwardingDelay>
<pcPort>0</pcPort>
<settingsAccess>1</settingsAccess>
<garp>0</garp>
<voiceVlanAccess>0</voiceVlanAccess>
<videoCapability>1</videoCapability>
<autoSelectLineEnable>0</autoSelectLineEnable>
<webAccess>1</webAccess>
<daysDisplayNotActive>1,7</daysDisplayNotActive>
<displayOnTime>08:30</displayOnTime>
<displayOnDuration>11:30</displayOnDuration>
<displayIdleTimeout>01:00</displayIdleTimeout>
</vendorConfig>
<versionStamp></versionStamp>
<userLocale>
<name></name>
<uid>1</uid>
<langCode>en</langCode>
<version>4.0(1)</version>
<winCharSet>iso-8859-1</winCharSet>
</userLocale>
<networkLocale></networkLocale>
<networkLocaleInfo>
<name></name>
<uid>64</uid>
<version>4.0(1)</version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<idleTimeout>120</idleTimeout>
<authenticationURL></authenticationURL>
<directoryURL>http://192.168.1.240/directory.php</directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL>http://192.168.1.240/services.php</servicesURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
</device>
Now, when phone boots up it will download SEP<MAC>.cnf.xml from tftp server. Then he will register with asterisk. And if you have setup extensions.conf corecty you can dial and receive calls.