Добрый день!
Недавно пришлось ставить chan_sccp и настраивать на него cisco 7940 и 7960. Вот решил поделиться моим хау-ту:
router - 192.168.1.254
asterisk/dhcp/tftp/dns - 192.168.1.1
1. yum install dhcp
2. edit /etc/dhcpd.conf:
ddns-update-style interim;
ignore client-updates;
option cisco-tftp code 150 = array of ip-address;
subnet 192.168.1.0 netmask 255.255.255.0{
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option nis-domain "asterisk.localdomain";
option domain-name "asterisk.localdomain";
option domain-name-servers 192.168.1.10;
option time-offset -5;
option ntp-servers 192.168.1.10 ;
option tftp-server-name "192.168.1.10";
range dynamic-bootp 192.168.1.10 192.168.1.10;
default-lease-time 43200;
max-lease-time 86400;
option cisco-tftp 192.168.1.10;
}
3. yum -y install atftpd
4. edit /tftboot/XMLDefault.cnf.xml or /tftboot/SEP<MAC_ADDRESS>.cnf.xml
5. service dhcpd restart
6. service atftpd restart
7.
cd /usr/src
wget http://sourceforge.net/projects/chan-sccp-b/files/chan-sccp-b/v2-based_20090602/chan_sccp-b_20090602.tar.gz/download
tar -xzvf chan_sccp-b_20090602.tar.gz
cd chan_sccp-b_20090602
make
make install
8. edit /etc/asterisk/sccp.conf:
[general]
keepalive = 30
context = default
dateFormat = D.M.Y ; date format
bindaddr = 0.0.0.0 ; interface to bind to
port = 2000 ; port to bind to (2000 = skinny)
debug = 4
accountcode=skinny ; recordname appearing in cdr
callwaiting_tone = 0x2d ; turn off callwaiting tone == 0
language=en
echocancel = on
silencesuppression = off
cfwdall = on ; turn on call forward button
cfwdbusy = on ; turn on call forward when busy button
dnd = on ; turn on "do not disturb"
mwioncall = on ; lit message waiting light when new messages are
nat=on
; in voicemailbox
digittimeoutchat = # ; type hash to stop dialing timeout
disallow = all
allow = alaw
allow = ulaw ; european isdn is alaw, so i use alaw as first preference
[devices]
type = 7960 ;CISCO phone model
description = RaduLine
tzoffset = 0
autologin = 100
vmnum = *97
device => SEP<MAC_ADDRESS>
[lines]
id = 100 ; Extension
label = Line_100 ; label on line button
description = AnyDesc
context = from-internal
callwaiting = 1
incominglimit = 3 ; max 3 incoming calls
mailbox = 100@default ; corresponding voicemail box
vmnum = *9 ; extension to dial to access VoiceMailMain()
cid_name = MyCidNameHere
cid_num = 100
line => 100
9.edit /etc/asterisk/modules.conf:
noload => chan_skinny.so
load => chan_sccp.so
10. service asterisk restart
11. connect the Cisco phone to same LAN as the server, reboot it and wait...
12. check the logs of DHCP and TFTP:
tail -f /var/log/atftpd.log:
atftpd: Serving XMLDefault.cnf.xml to 192.168.1....:....
tail -f /var/log/messages
13. connect to asterisk -vvvcr:
*CLI> == Using SCCP TOS bits 96
-- SCCP: Accepted connection from <PHONE_IP>
-- SCCP: Using ip <SERVER_IP>
-- SCCP: Alarm Message: Severity: Warning (1), 6: Name=SEP<MAC> Load=8.0(5.0)File Not Found
-- SCCP: Alarm Message: Severity: Informational (2), 24: Name=SEP<MAC> Load=8.0(5.0) Last=Phone-Reg-Rej
-- SEP<MAC>: asked our protocol capability (17). We answered (11).
-- SEP<MAC>: Accessory 'Headset' is 'OnHook' (0)
-- SEP<MAC>: Accessory 'Speaker' is 'OnHook' (0)
-- SEP<MAC>: Accessory 'Headset' is 'OnHook' (0)
-- SEP<MAC>: Accessory 'Speaker' is 'OnHook' (0)
-- SEP<MAC>: Accessory 'Headset' is 'OnHook' (0)
14. Asterisk CLI details:
*CLI> sccp show devices
NAME ADDRESS MAC Reg. State
================ =============== ================ ==========
AsteriskLine <PHONE_IP> SEP0016C70E7029 Ok
CLI> sccp show device SEP<MAC>
Current settings for selected Device
------------------------------------
MAC-Address : SEP<MAC>
Protocol Version : Supported '11', In Use '11'
Keepalive : 30
Registration state : Ok(3)
State : OnHook(0)
MWI handset light : OFF
Description : AnyDesc
Config Phone Type : 7960
Skinny Phone Type : Cisco7940(8)
Softkey support : Yes
Autologin : 100
Image Version :
Timezone Offset : 0
Capabilities : 0x10c (ulaw|alaw|g729)
Codecs preference : (alaw|ulaw)
Can DND : Reject
Can Transfer : Yes
Can Park : Yes
Private softkey : Enabled
Can CFWDALL : Yes
Can CFWBUSY : Yes
Can CFWNOANSWER : No
Dtmf mode : In-Band
Nat : No
Direct RTP : No
Trust phone ip : No
Early RTP : No
IP ToS RTP audio : EF
IP ToS RTP video : AF41
Device State (Acc.) : OnHook
Last Used Accessory : Speaker
Lines
id : name label
------------------------------------
1: 100
*CLI> sccp show lines
NAME DEVICE MWI Chs Active Channel
================ ================ ==== ==== =================================================
100 SEP<MAC> OFF 0 --
*CLI>
*CLI> sccp show globals
SCCP channel driver global settings
------------------------------------
Platform byte order : LITTLE ENDIAN
Protocol Version : 17
Server Name : Asterisk
Bind Address : 0.0.0.0:2000
Nat : No
Direct RTP : No
Keepalive : 30
Debug level : 4
Filtered Debug Level : 0
Date format : D.M.Y
First digit timeout : 16
Digit timeout : 8
IP ToS SCCP : CS3
IP ToS RTP audio : EF
IP ToS RTP video : AF41
Context : default
Language : en
Accountcode : skinny
Musicclass :
AMA flags : 3 - DOCUMENTATION
Callgroup :
Pickupgroup :
Capabilities : 0xc (ulaw|alaw)
Codecs preference : (alaw|ulaw)
CFWDALL : Yes
CFWBUSY : Yes
CFWNOANSWER : No
Call Events: : No
DND : Reject
Park : Enabled
Private softkey : Enabled
Echo cancel : Enabled
Silence suppression : Disabled
Trust phone ip : No
Early RTP : No
AutoAnswer ringtime : 0
AutoAnswer tone : 50
RemoteHangup tone : 50
Transfer tone : 0
CallWaiting tone : 45
Jitterbuffer enabled : No
Jitterbuffer forced : No
Jitterbuffer max size : -1
Jitterbuffer resync : -1
Jitterbuffer impl :
Jitterbuffer log : No
*CLI>
*CLI> sccp show sessions
Socket IP KA DEVICE STATE TYPE
========== =============== ==== =============== =============== ===============
20 <PHONE_IP> 9 SEP<MAC> OnHook Cisco7940
*CLI> sccp show channels
ID LINE DEVICE AST STATE SCCP STATE REMOTE RC MT
===== ========== ================ ================ ================ ========== ==== ====
*CLI> sccp show version
SCCP channel Release: v2 - exported (built by 'root' on 'Sun May 23 08:24:09 UTC 2010')
*CLI>
*CLI> sccp show sessions
Socket IP KA DEVICE STATE TYPE
========== =============== ==== =============== =============== ===============
21 <IP_PHONE> 4 SEP<MAC> OffHook Cisco7940
*CLI> sccp show channels
ID LINE DEVICE AST STATE SCCP STATE REMOTE RC MT
===== ========== ================ ================ ================ ========== ==== ====
00013 100 AsteriskLine Up Connected 101 yes yes
*CLI>
15. Dial(SCCP/100).....
Welcome!