Cisco Unified IP Phone 7975G with Sipgate
Table of contents
- Cisco IP Phone
- Voice VLAN on Cisco switches
- SIP image on IP phone
- Set option 60 (tftp-server-name) on DHCP server
- TFTP server with SEPMAC.cnf.xml file
- Correct parameters for registering in SEPMAC.cnf.xml file
- Set up firewall ACL for SIP traffic
Cisco IP Phone
Back in the US I bought two Cisco Unified IP Phones 7975G, one of them I’m using as work phone, the second one is for testing and playing around with SIP.
The requirements for a working IP phone are:
Voice VLAN on Cisco switches
SIP image on Cisco IP phone 7975G
Set option 60 (tftp-server-name) on DHCP server
TFTP server with SEPMAC.cnf.xml file
Correct parameters for registering in SEPMAC.cnf.xml file
Set up firewall ACL for SIP traffic
For this type of setup you need some understanding of Network, Cisco IOS, Linux DHCP and TFTP server configuration and XML.
Voice VLAN on Cisco switches
On my Cisco core switch I’m using this configuration:
interface Vlan150
description vlan-150-voice
ip address n.n.n.n s.s.s.s
!--- primary DHCP server
ip helper-address n.n.n.n
!--- secondary DHCP server
ip helper-address n.n.n.n
end
My Cisco access switch learn the VLAN configuration via VTP (VLAN Trunking Protocol), therefore I just need to add the voice VLAN to the ports where an IP phone is connected.
I’m just using the standard setup from Cisco for their phones:
interface GigabitEthernet1/0/1
description TESTING-IP-PHONE
switchport access vlan *****
switchport mode access
switchport voice vlan 150
srr-queue bandwidth share 1 30 35 5
priority-queue out
mls qos trust device cisco-phone
mls qos trust cos
spanning-tree portfast
spanning-tree bpduguard enable
service-policy input AUTOQOS-SRND4-CISCOPHONE-POLICY
end
SIP image on IP phone
Before I can use the IP phone with a SIP provider, it must be converted from SCCP to SIP. The conversion process is described on Cisco’s website: Converting a Cisco 7940/7960 CallManager Phone to a SIP Phone and the Reverse Process
Set option 60 (tftp-server-name) on DHCP server
In the next step I set DHCP option 60 (tftp-server-name) in my DHCP configuration file. Please note that I am using DHCP-failover, therefore I have to set it also on my second DHCP server.
subnet n.n.n.n netmask s.s.s.s {
option broadcast-address n.n.n.n;
option routers n.n.n.n;
option domain-name-servers n.n.n.n, n.n.n.n;
option domain-name "DOMAIN_NAME";
option ntp-servers n.n.n.n, n.n.n.n;
option time-servers n.n.n.n, n.n.n.n;
# IP address of TFTP server
option tftp-server-name "TFTP_SERVER";
pool {
failover peer "dhcp-failover";
range r.r.r.r r.r.r.r;
}
}
TFTP server with SEPMAC.cnf.xml file
For the 7975G IP phone I need a SEPMAC.cnf.xml file on the TFTP server. The MAC part of the file name needs to be replaced with the IP Phone’s MAC address and should look like:
SEP0000ACAB0000.cnf.xml
I assume for this part that you know how to configure a TFTP server.
Correct parameters for registering in SEPMAC.cnf.xml file
To use the IP Phone with sipgate.de as SIP provider, I set as callManager:
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
</ports>
<processNodeName>sipgate.de</processNodeName>
</callManager>
In the sipProxies I set:
<sipProxies>
<backupProxy></backupProxy>
<backupProxyPort></backupProxyPort>
<emergencyProxy></emergencyProxy>
<emergencyProxyPort></emergencyProxyPort>
<outboundProxy></outboundProxy>
<outboundProxyPort></outboundProxyPort>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
As line button I use:
<line button="1">
<featureID>9</featureID>
<featureLabel>SIPGATE_NAME</featureLabel>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<name>SIPGATE_USER</name>
<displayName>SIPGATE_NAME</displayName>
<autoAnswer>
<autoAnswerEnabled>0</autoAnswerEnabled>
</autoAnswer>
<callWaiting>1</callWaiting>
<authName>SIPGATE_USER</authName>
<authPassword>SIPGATE_PASSWORD</authPassword>
<contact>SIPGATE_USER</contact>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber>**600</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>true</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>5</maxNumCalls>
<busyTrigger>4</busyTrigger>
</line>
Please note: USECALLMANAGER should not replaced with anything else.
SIPGATE_NAME, SIPGATE_USER, SIPGATE_PASSWORD must be replaced with your credentials.
If the IP Phones does not register with sipgate.de, it’s also worth to wireshark the SIP packages exchanged.
Set up firewall ACL for SIP traffic
Because my firewall must pass SIP traffic for a working IP Phone I set up a simple ACL:
In the grp.sip-server the public IP address of sipgate.de is in there. SIP with ports 5060 and 5061 is allowed with UDP and TCP.