Register a SIP device with CME?

Answered Question
Jul 13th, 2007

I have a 2811 with CME 4.2 that is working fine for SCCP handsets, but I would like to use a couple of (non-Cisco) SIP devices. Is this possible? I can't find any good documentation on whether this is even possible, let alone how to do it!


I am partway there, but when my SIP device tries to login it gets a 503 message back from CME:


SIP/2.0 503 Service Unavailable - registrar unavail or not enabled


I think this means it is trying to pass the registration off to an external SIP registrar, but I have not configured one. Can I make the CME router a SIP registrar?


Thanks,

Michael.

Correct Answer by Paolo Bevilacqua about 9 years 7 months ago

Hi,


for authentication to work, make sure username in your SIP device is the same as number you are registering, and configured in the router in voice rgister pool and dn. Then configure this username, password and realm under voice register pool.


Hope this helps, please rate post if it does!


  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (6 ratings)
Loading.
comjf Mon, 07/16/2007 - 15:07

Hi Guys,


Thanks for your help, I was missing the voice service voip part of the config. I can now successfully register my SIP client with CME. The relevant portions of my config are:


voice service voip

allow-connections sip to sip

sip

registrar server

!

voice register global

mode cme

source-address xxx.xxx.xxx.xxx port 5060

max-dn 144

max-pool 36

!

voice register dn 1

number xxx

name SIP Test

!

voice register pool 1

id mac xxxx.xxxx.xxxx

type ATA

number 1 dn 1

!


This works fine and I am able to make calls between SCCP and SIP phones with no problems. However, I would like to expose this to an untrusted network and would like to authenticate registrations with more than just the MAC address.


When I add the authenticate register command under voice register global, and username in the voice register pool the registration fails. debug ccsip errors and events gives the following output:


*Jul 16 22:44:00.372: //-1/xxxxxxxxxxxx/SIP/Error/HandleUdpSocketReads: SIP Message incomplete, trashed

*Jul 16 22:44:00.724: //164/E15EF9248E6E/SIP/Event/sact_idle_new_message_register:

ccsip_api_register_ind return value : SIP_SUCCESS


*Jul 16 22:44:00.724: //-1/xxxxxxxxxxxx/SIP/Error/ccsip_reg_search_call_id_table: No entry found in sipCallID Table

*Jul 16 22:44:00.724: //-1/xxxxxxxxxxxx/SIP/Error/sipSPI_validate_own_ip_addr: ReqLine IP addr does not match with host

IP addr

*Jul 16 22:44:00.724: //164/E15EF9248E6E/SIP/Error/ccsip_spi_register_incoming_registration: Registration Authorization

failed with authorization header=

MFTEST#

*Jul 16 22:44:00.724: //-1/xxxxxxxxxxxx/SIP/Event/sipSPIEventInfo: Queued event from SIP SPI : SIPSPI_EV_REGISTER_RESP

*Jul 16 22:44:00.996: //164/E15EF9248E6E/SIP/Event/sact_idle_new_message_register:

ccsip_api_register_ind return value : SIP_SUCCESS


*Jul 16 22:44:00.996: //-1/xxxxxxxxxxxx/SIP/Error/ccsip_reg_search_call_id_table: No entry found in sipCallID Table

*Jul 16 22:44:00.996: //-1/xxxxxxxxxxxx/SIP/Error/sipSPI_validate_own_ip_addr: ReqLine IP addr does not match with host

IP addr

*Jul 16 22:44:00.996: //164/E15EF9248E6E/SIP/Error/ccsip_spi_register_incoming_registration: Registration Authorization

failed with authorization header=Digest username="xxx",realm="xxx.xxx",uri="sip:xxx.xxx.xxx",response="9be3c60dc4144f74e

caf7c39d2f03d91",nonce="D39FF135014CB7A8",cnonce="2150e4a6",qop=auth,nc=00000001,algorithm=MD5

*Jul 16 22:44:01.000: //-1/xxxxxxxxxxxx/SIP/Event/sipSPIEventInfo: Queued event from SIP SPI : SIPSPI_EV_REGISTER_RESP


debug voice register errors and events gives the following:


*Jul 16 23:21:38.084: VOICE_REG_POOL: Register request for (xxx) from (xxx.xxx.xxx.xxx)

*Jul 16 23:21:38.084: VOICE_REG_POOL: key(E4D3E1DA01502970) added to nonce table

*Jul 16 23:21:38.084: VOICE_REG_POOL: Contact doesn't match any pools

*Jul 16 23:21:38.096: VOICE_REG_POOL: Register request for (xxx) from (xxx.xxx.xxx)

*Jul 16 23:21:38.096: VOICE_REG_POOL: Contact doesn't match any pools

*Jul 16 23:21:38.444: EVENT: 1 node in nonce tree obsolete


I am not sure why none of the pools are matched as it works fine without the authenticate register command. Any ideas?

Correct Answer
Paolo Bevilacqua Mon, 07/16/2007 - 15:31

Hi,


for authentication to work, make sure username in your SIP device is the same as number you are registering, and configured in the router in voice rgister pool and dn. Then configure this username, password and realm under voice register pool.


Hope this helps, please rate post if it does!


comjf Mon, 07/16/2007 - 15:50

That worked, thanks! While I was testing I had changed from one device to another and the extension on the dn no longer matched the username!


For reference, here is my (working) config:


voice service voip

allow-connections sip to sip

sip

registrar server

!

voice register global

mode cme

source-address xxx.xxx.xxx.xxx port 5060

max-dn 144

max-pool 36

authenticate register

authenticate realm xxxx.xxx

!

voice register dn 1

number 123

name SIP Test

!

voice register pool 1

id mac 1234.1234.1234

type ATA

number 1 dn 1

username 123 password 1234

!


Thanks guys!


sandeep pokhriyal Tue, 07/17/2007 - 08:01

i tried configuring two sip phones with same config..it worked

but the problem is that m not able to call between them.

wht all dial-peer i have to configure..

my extensions are

123 and 234


thx

Paolo Bevilacqua Wed, 07/18/2007 - 03:54

Hello,


In X-lite, please deselect all codecs except G.711u (Options -> Advanced -> Audio codecs).


Hope this helps, please rate post if it does!

sandeep pokhriyal Wed, 07/18/2007 - 04:11

hi the call from sccp phone to sip seems to be lost somewhere as its trying but its not reaching sip.

the call from sip to sccp is not goin the phone is playing prompt "user not available".


thxx

comjf Thu, 07/19/2007 - 00:20

Hi,


I noticed in your config that you have two dn configured for pool 2, but they are both the same:


voice register pool 2

number 1 dn 2

number 2 dn 2


Should one of them been dn1 (both numbers ring on that phone)?


Are the dial peers being created? show voice register dial-peers should show you the registered phones.


What do you have configured under voice service voip?

sandeep pokhriyal Thu, 07/19/2007 - 03:00

hi i have this config.

voice service voip

allow-connections h323 to sip

allow-connections sip to h323

allow-connections sip to sip

sip

registrar server


the show voice register dial-peers


is showing the sip phone registered.

dial-peer voice 40002 voip

destination-pattern 123

session target ipv4:100.0.0.5:56250

session protocol sipv2

after-hours-exempt FALSE


mohamedtag Sat, 07/14/2007 - 10:26

Hello ,


I tried it and it worked using a GrandStream SIP IP Phone. As far as i remember , i defined the Phone Type = 7905..I will try to get the Exact Configuration on the CME and submit it.


Regards


M.Tag


firebadger Tue, 07/17/2007 - 07:01

It is certainly possible - if you have a search of these forums (on the right) you will see that many before you have asked similar questions.


Are you sure this is CME 4.2? And not CME 4.0(2)? Sorry to teach you to suck eggs, but I wasn't aware of a release >4.1 :) (if it really is 4.2, which IOS image are you using?)


As for the registrar, a quick clue would be the 'voice service voip', where you can define the register address.


Also, remember that you need to setup the 'voice register globals' with 'mode cme', and all corresponding values.


As well as that, curiously, the SIP registrar in CME mode *must* have the MAC address of the phone connecting, which SIP phones will not send (and aren't supposed to!)


You can rectify this by adding an arp entry, and a /32 static route for each phone (tedious, but it works).


FINALLY. I'm using 12.4(15)T, with CME 4.1. I tried to register a Snom 360 yesterday and it crashed the router SIX times before I realised what was going on. Today, a Mitel phone is giving me grief (though not as bad as the Snom) and on top of all that, I have a Grandstream sat here working quite well.


Still, the voice register dialplans are a mess - I wouldn't recommend SIP phones on CME 4.1, at all.

Paolo Bevilacqua Tue, 07/17/2007 - 08:15

Hi Fire,


the issue is solved, look above :)


and yes there is CME 4.2, that is 12.4(11)XW1.


the MAC address is needed only for phones on LAn directly connected to the router, for the remote ones it can be all zero, but authentication is required. But, if you do the ARP trick as you said, not authentication will be required!


Congratulations on you router crashes and interop testing!


comjf Tue, 07/17/2007 - 14:37

I am using 12.4(11)XW2


It seems that I spoke too soon :( I cannot place calls between two SIP devices. One of them is a 7960 running SIP firmware and the other is a software client.


When I place a call from the 7960 to the PC the PC rings but a reorder tone is generated at the 7960 when the PC answers.


When I place a call from the PC to the 7960, I get call not authorised displayed on the PC. A packet capture does not show any packets at all between the PC and CME though :S


sh voice register dial-peers shows both devices registered with the expected IP Addresses and ports. I have tried a few different debugs, but all seems normal.


Any pointers gratefully received :D

Paolo Bevilacqua Tue, 07/17/2007 - 15:02

Let's try at least to have at some debugs. As you probably know, "term mon" and "debug ccsip message".

What is the software client? E.g. xlite is know to work well.

comjf Tue, 07/17/2007 - 15:40

Sorry, the software client is X-Pro.


I have been trying some more debugs. Attached is debug ccsip message when calling from 7960 to X-Pro.


I just noticed the 500 Server Internal Error (from the 7960?).


The X-Pro client requires that a realm be defined, but I can't see where to configure one in the 7960. Does this matter? It seems to be registered OK:


sh voice register pool 3

Pool Tag 3

Config:

Mac address is 0015.62EA.714E

Type is 7960

Number list 1 : DN 1

Proxy Ip address is 0.0.0.0

DTMF Relay is disabled

Call Waiting is enabled

DnD is disabled

keep-conference is enabled

username 414 password 1234

service-control mechanism is not supported

registration Call ID is [email protected]

active primary line is: 414


contact IP address: 192.168.61.10 port 5061



Dialpeers created:


dial-peer voice 40002 voip

destination-pattern 414

session target ipv4:192.168.61.10:5061

session protocol sipv2

voice-class codec 1

after-hours-exempt FALSE


Statistics:

Active registrations : 1


Total SIP phones registered: 2

Total Registration Statistics

Registration requests : 2

Registration success : 2

Registration failed : 0

unRegister requests : 0

unRegister success : 0

unRegister failed : 0


Here is my config:


voice service voip

allow-connections sip to sip

redirect ip2ip

sip

registrar server

!

voice class codec 1

codec preference 1 g729r8

codec preference 2 g711ulaw

codec preference 3 g711alaw

!

voice register global

mode cme

source-address 192.168.61.1 port 5060

max-dn 144

max-pool 36

authenticate register

authenticate realm c5.com

!

voice register dn 1

number 414

name SIP Test

!

voice register dn 2

number 415

name SIP Test2

!

voice register pool 2

id mac 1234.1234.1234

type ATA

number 1 dn 2

voice-class codec 1

username 415 password 1234

!

voice register pool 3

id mac 0015.62EA.714E

type 7960

number 1 dn 1

voice-class codec 1

username 414 password 1234

!


TIA



comjf Tue, 07/17/2007 - 15:46

A couple more questions:


Do I need to have PVDMs in my 2811 if there are no voice modules?

Do I need to configure transcoding/dspfarm resources if the SIP clients negotiate the same codec?

Can I force the 2811 to act as a proxy instead of allowing direct connections between the SIP endpoints?


Paolo Bevilacqua Tue, 07/17/2007 - 16:12

Q1 and Q2: no.

Q3: In Cisco parlance, this is called "media flow-around" as opposed to "media flow-through".

Per documentation, CME supports only flow-through as you can see from SDP portion of SIP invite.



Paolo Bevilacqua Tue, 07/17/2007 - 16:00

Hi,

although "voice class codec" appears correctly configured, can you try "codec g711u" instead of "voice-class codec", under both "voice register pool" ?



comjf Tue, 07/17/2007 - 16:20

OK, that is a little closer, although I am not sure why the voice class doesn't work!


I can now call from 7960 (SIP) to X-Pro and from 7960 to IP Communicator. I can also call from IP Communicator to both SIP clients.


I cannot call from X-Pro to any SIP or SCCP clients. Debug ccsip messages does not produce anything when I attempt this and the X-Pro display shows Call not approved. the config in X-Pro is:


Display Name: 415

Username: 415

Authorisation user: 415

Password: 1234

Domain/Realm: c5.com

SIP Proxy: 192.168.61.1

Out Bound Proxy: 192.168.61.1 (seems to make no difference)

Use Outbound Proxy: Default

Send Internal IP: Default

Register: Always

Voicemail SIP URL:

Forward SIP URL:

Use Voicemail: Forward to Voicemail

Direct Dial IP: No

Dial Prefix: #1


I think it is correct? I have also tried with Send Internal IP: Always and Use Outbound Proxy: Never.


TIA

Paolo Bevilacqua Tue, 07/17/2007 - 16:31

Glad to know things started working. The thing is that SIP on IOS is a best, "a little iffy". What IOS are you using?


Not being able to call from X-pro must be an issue with itself, as the lack of any debug output at the router demonstrates. In X-lite, below the user details, I have "register with domain" and "Send outbound via proxy" close to the CME address. And it works fine.


Thanks for the nice rating and good luck!

alicicmirzet Thu, 07/19/2007 - 04:09

Hi,


I have alos the problems with X-lite Softphones using SIP.


I have registered 2 SIP x-Lite Softphones and I am bale to call from Cisco IP Phone to X-Lite Phone, but not able to call from X.lite to Cisco IP Phone and X-lite to X.lite,


In the attachment there is my configuration,


When I want to call From X-Lite I get the message: Call Failed:Not acceptable media



regards,


alicic



sandeep pokhriyal Thu, 07/19/2007 - 07:32

hi


thanks for your config .

i can now call between both the type of phones.sccp and sip


the main thing that came out is that u should define on g711u law codec.


remove rest if u have on xlite.


regards


sandeep pokhriyal Thu, 07/19/2007 - 21:34

hi i tried your config and did some edit ..

just copy and paste.


may b it will help.


thx to all this conversation has resolved issues for lots of people.



Attachment: 

Actions

This Discussion