I was feeling under the weather this weekend and found myself confined to my bedroom and basement. With all the idle time I spent a few hours setting up Asterisk. I was looking at two goals, first examining the basic functionality that Asterisk provides and the second was testing the integration between Asterisk and a Nortel i2002 IP phone using the UNIStim (chan_unistim) protocol driver.
For anyone that isn’t familiar with Asterisk; Asterisk is the world’s leading open source PBXi, telephony engine, and telephony applications toolkit. Offering flexibility unheard of in the world of proprietary communications, Asterisk empowers developers and integrators to create advanced communication solutions…for free.
I started by building a CentOS 5.2 server within a VMware environment which was easy enough. I then downloaded the latest Asterisk release (1.6.1-rc1) and compiled the source files. Within no time I had the basic Asterisk installation up and running. I hacked away at the unistim.conf, and extensions.conf file and before long I was making test calls across my private branch exchange between two softphones (X-Lite) and two Nortel i2002 IP phones.
Asterisk is an incredibly powerful solution and can really empower SOHO and small Enterprise networks. The feature support within Asterisk is very impressive and includes voice mail and conferencing. Digium actually manufacturers a number of telephony products based on Asterisk and are very appealing to some businesses. There are also a number of growing service providers which can be used to connect Asterisk over the Internet to the PSTN network without the need for dedicated hardware. I was very impressed with the solution.
Cheers!
Related posts:






#1 by Mark Stevens on February 23, 2009 - 9:41 am
Congrats on the Asterisk set-up. I did something similar here with some colleagues. CentOS & with Asterisk on top, then configured 1120 phones running SIP firmware. Fun little project. Just got the basics up and running.
#2 by Michael McNamara on February 23, 2009 - 4:47 pm
Hi Mark,
What’s really neat is that the i2002 phones were still running the UNIStim stack with firmware 0604DAD and 0604DBG (no SIP firmware available for the i2002/i2004 phones). Thanks to the efforts of Cedric Hans and others they were able to reverse engineer the UNIStim stack and provide the channel driver for using Nortel’s proprietary protocol on Asterisk.
I will comment that it took me about 30 minutes to realize that you couldn’t just pickup the handset and dial a number. You had to pickup the handset, dial the phone number and then select the softkey labeled “Call”. I spent that first 30 minutes running packet traces trying to figure out if I had a G.711/GSM codec issue or what the problem was.
Thanks again for the comment!
#3 by Gord on March 17, 2009 - 2:34 pm
The most current SIP firmware for the IP Phone 1120E/1140E can be accessed from http://www.nortel.com/support. I would be interested in anybody else’s experience using this with Asterisk.
#4 by tim lang on April 8, 2009 - 12:57 pm
I am just installing an asterisk server into my small business, I have 8 Grandstream 2000 phones for hte initial deployment. These are configured and working fine. I am replaceing a Nortel BCM50 and I have 3 IP phones I would LOVE to get working on the system.
I am on CentOS 5.2 like you, and used hte AsteriskNOW 1.6Beta for my base intstall of everything.
Can I get a DETAILED instruction on how you got the nortels to work? Heck I would even pay you fo rhte consult to help me.. I truely like the nortel phones and it would save me about $400 if I can re-use the 3 IP phones I have.
[removed by moderator]
PS: I am not a ‘Phone Guy’ so this is all new to me, I am a MCSE/T type.
#5 by Michael McNamara on April 8, 2009 - 6:49 pm
Hi Tim,
The only real changes beyond just building and installing the software was configuring the extensions in the extensions.conf file and then provision the IP phones in the unistim.conf file. I’ll see if I can power back up that VM and copy down the files to post here.
One note, I didn’t realize for quite some time that I had to go off-hook on the i2002, then dial the number and then select the appropriate line key before the phone would actually dial. It might have been my configuration, I’m not sure but going off-hook didn’t provide dialtone until I selected a line.
Thanks for the feedback!
#6 by Michael McNamara on April 8, 2009 - 10:28 pm
I managed to dig up those two files… I’ve only included the parts that you might need to change (I didn’t include the entire file just the statements concerning the two IP phones I setup.
You’ll need to find their MAC address (on the back of the phone) and then depending on software version the phone is running you may need to tweak the rtp_method.
unistim.conf
[phone1] ; name of the device device=001765ffe0fc ; mac address of the phone rtp_port=10000 ; RTP port used by the phone, default = 10000. RTCP = rtp_port+1 rtp_method=3 ; If you don't have sound, you can try 1, 2 or 3, default = 0 status_method=0 ; If you don't see status text, try 1, default = 0 titledefault=Asterisk ; default = "TimeZone (your time zone)". 12 characters max maintext0="Asterisk PBX" ; default = "Welcome", 24 characters max ;maintext1="a custom text" ; default = the name of the device, 24 characters max ;maintext2="(main page)" ; default = the public IP of the phone, 24 characters max ;dateformat=1 ; 0 = month/day, 1 (default) = day/month ;timeformat=1 ; 0 = 0:00am ; 1 (default) = 0h00, 2 = 0:00 ;contrast=8 ; define the contrast of the LCD. From 0 to 15. Default = 8 ;country=us ; country (ccTLD) for dial tone frequency. See README, default = us ;ringvolume=2 ; ring volume : 0,1,2,3, can be overrided by Dial(), default = 2 ringstyle=3 ; ring style : 0 to 7, can be overrided by Dial(), default = 3 callhistory=1 ; 0 = disable, 1 = enable call history, default = 1 callerid="Customer Support" <555-234-5678> context=michael ; context, default="default" mailbox=2000 ; Specify the mailbox number. Used by Message Waiting Indication ;linelabel="Support" ; Softkey label for the next line=> entry, 9 char max. ;extension=line ; Add an extension into the dialplan. Only valid in context specified previously. ; none=don't add (default), ask=prompt user, line=use the line number line => 100 ; Only one line by device is currently supported. ; Beware ! only bookmark and softkey entries are allowed after line=> ;bookmark=Hans C.@123 ; Use a softkey to dial 123. Name : 9 char max ;bookmark=Mailbox@011@54 ; 54 shows a mailbox icon. See #define FAV_ICON_ for other values (32 to 63) bookmark=Test@*@USTM/phone2 ; Display an icon if violet is connected (dynamic), only for unistim device ;bookmark=4@Pager@54321@51 ; Display a pager icon and dial 54321 when softkey 4 is pressed [phone2] ; name of the device device=0018b0342c34 ; mac address of the phone rtp_port=10000 ; RTP port used by the phone, default = 10000. RTCP = rtp_port+1 rtp_method=3 ; If you don't have sound, you can try 1, 2 or 3, default = 0 status_method=0 ; If you don't see status text, try 1, default = 0 titledefault=Asterisk ; default = "TimeZone (your time zone)". 12 characters max maintext0="Asterisk PBX" ; default = "Welcome", 24 characters max ;maintext1="a custom text" ; default = the name of the device, 24 characters max ;maintext2="(main page)" ; default = the public IP of the phone, 24 characters max ;dateformat=1 ; 0 = month/day, 1 (default) = day/month ;timeformat=1 ; 0 = 0:00am ; 1 (default) = 0h00, 2 = 0:00 ;contrast=8 ; define the contrast of the LCD. From 0 to 15. Default = 8 ;country=us ; country (ccTLD) for dial tone frequency. See README, default = us ;ringvolume=2 ; ring volume : 0,1,2,3, can be overrided by Dial(), default = 2 ringstyle=3 ; ring style : 0 to 7, can be overrided by Dial(), default = 3 callhistory=1 ; 0 = disable, 1 = enable call history, default = 1 callerid="Customer Support" <555-234-5678> context=michael ; context, default="default" mailbox=2001 ; Specify the mailbox number. Used by Message Waiting Indication ;linelabel="Support" ; Softkey label for the next line=> entry, 9 char max. ;extension=line ; Add an extension into the dialplan. Only valid in context specified previously. ; none=don't add (default), ask=prompt user, line=use the line number line => 101 ; Only one line by device is currently supported. ; Beware ! only bookmark and softkey entries are allowed after line=> ;bookmark=Hans C.@123 ; Use a softkey to dial 123. Name : 9 char max ;bookmark=Mailbox@011@54 ; 54 shows a mailbox icon. See #define FAV_ICON_ for other values (32 to 63) bookmark=Test@*@USTM/phone1 ; Display an icon if violet is connected (dynamic), only for unistim device ;bookmark=4@Pager@54321@51 ; Display a pager icon and dial 54321 when softkey 4 is pressedI then added the following lines in the extensions.conf file;
It’s not to complicated after you spend some time with it.
Good Luck!