Log in

No account? Create an account
Voice over IP - Alex Belits
Voice over IP
I have installed Asterisk on the first Trogdor server -- being smtp/pop/imap/http/dns/mysql/postgresql did not take much of its resources, and I wanted to get some experience with voice over IP. So have got asterisk from CVS, bought a Zyxel P-2000W v2.0 wireless SIP phone, got an account at VoicePulse Connect, and added KPhone (for both x86 Linux and Zaurus) and GnomeMeeting to cover that weird ancient thing called h.323. And then I had to configure the whole thing to make all those things talk to each other.

Wireless SIP phone came with some weird firmware WR0003 that neither Zyxel FTP site nor Google seemed to know anything about, so after first few unsuccessful attempts to make it talk to Asterisk, I have installed WJ.00.0f that everyone seemed to be using before. Since it was a known bug that P-2000W doesn't accept firmware upload from anything but IE, I had to find the headers for uploading it by netcat, and the upgrade process went without any problems. After rebooting the phone I was greeted by horrible UI and messages in Engrish, however whatever codecs implementation that was in there, it still did not send sound through Asterisk to VoicePulse and from there to my phone. Not being in the mood for hunting down the codecs incompatibilities (protocol seemed to be fine) I have updated the phone further to WJ.00.10 (had to tweak the headers), and after that everything worked. I have messed a bit with Asteisk configuration (a format that would remind a programmer something from FORTRAN IV, yet a great improvement compared to the things that PBXes use), and made it talk to VoicePulse, send the correct Caller ID, and make it talk between multiple boxes running KPhone, SIP phone, and regular phones (through VoicePulse).

And then I have faced the horror that is adding h.323 support. The libraries that came in Debian packages, were incompatible with Asterisk, so I had to get them from CVS. After installing those, I have built h.323 channel that came with Asterisk (but wasn't enabled by default), and again, everything worked except for the sound. After some trial and error, I have found that if I tell Asterisk to force h.323 clients to use g.711 alaw codec (and not ulaw or gsm), everything works. Why does it happen, I have no idea, all interfaces support gsm, but for some reason h.323 does not understand how to pass it. In any case, in this configuration it worked perfectly, and happily talked to all other devices (that used SIP and IAX2) through asterisk.

And then I have realized that wireless SIP phone would be completely useless at Starbucks, SurfandSip, and everything else that requires something to be done from the MAC address to get any routing outside -- SIP phone has no web browser, so it can't log in! To make things work at those places, I have installed KPhone/PI on Zaurus, and after tweaking its config, I have got this:

That's Zaurus SL-5500 with a wireless card and a phone headset (running KPhone/PI), Zyxel P-2000W v.2 (talking to Zaurus at the moment) and my old Audiovox CDM-9100, that has nothing to do with VoIP except that it received calls from two other devices through VoicePulse.

Tags: , ,
Current Mood: accomplished accomplished

8 comments or Leave a comment
From: (Anonymous) Date: May 31st, 2005 01:43 pm (UTC) (Link)
abelits From: abelits Date: May 31st, 2005 06:54 pm (UTC) (Link)
Unscreened for posterity.
From: (Anonymous) Date: June 23rd, 2005 03:39 am (UTC) (Link)

Kphone setup

You mentioned tweaking of kphone.
I hve been trying to get it to work on my sl5500 and can get no sound from it. I have an adapter like yours.
Could you possibly let me know wht tweaking you did to get it to work with sound?

Thankyou very much for such a nice article and the pic is great.
abelits From: abelits Date: June 23rd, 2005 07:42 am (UTC) (Link)

Re: Kphone setup

For SL-5500 you need to configure "Audio" section as Read-only/Write-only devices, write-only device /dev/dsp and read-only device /dev/dsp1 . I had to use G711u codec (if one can call this a "codec"), and have "ulaw" allowed on Asterisk side -- YMMV, but SL-5500 has a rather slow CPU, and other codecs may have problems. On the other hand, G.711 needs 64Kbps, so whatever is between Zaurus and Asterisk box, it should be able to pass that much, and if any other codec can me made to work, it will reduce the necessary bandwidth 4-8 times. SIP is configured to use UDP, symmetric everything, no proxies, however Asterisk has NAT support enabled, and host configured as dynamic, because otherwise this setup would be nearly useless.

I have only tested this on OpenZaurus, so there may be some other things that have to be done for Sharp ROM, or other versions. Just make sure that the audio devices work, and are not used by something else.
From: (Anonymous) Date: June 23rd, 2005 11:22 am (UTC) (Link)

Re: Kphone setup


By the way, what build of openzaurus are you running?

Thanks for the quick reply.

abelits From: abelits Date: June 23rd, 2005 11:37 am (UTC) (Link)

Re: Kphone setup

3.5.3 release with opie, with most of the tree moved to SD card, and root's home in a ramdisk (and still with the old kernel, going to testing the new ones soon).

I have made some fixes to startup scripts that I am going to post -- for example, openzaurus does not run fsck on its ext2 filesystems, and I think, it's irresponsible for this kind of device.
From: (Anonymous) Date: June 26th, 2005 12:01 pm (UTC) (Link)

Re: Kphone setup


Sorry to bother you again. But, I still have one more problem I can't seem to overcome.

I have Kphone/pi configured and running. I can complete calls. My 5500 rings as the dialed number rings on the first ring. I connects, shows audio active. But then on connect;

(Here's the problem), I get a click in headset then nothing else.

I have the audo and codec settings as you stated in last message.
I have checked my headset and it can record and play audio.
I can get ziax phone to work, but, I get a terrible hum on dialed end when it connects. So I think my audio is working correctly. I just cant get anything but the click in kphone.

I have tried kphone 097 thru 1.0. I get the same thing.

I have openssl and zlib loaded as recomended.

Can you possibly give me some advice as to resolving the click problem?

Maybe the versions of openssl and zlib you have used. I thought it might be them giving me problems.

Thanks again for your advice and assistance.

abelits From: abelits Date: July 1st, 2005 12:45 am (UTC) (Link)

Re: Kphone setup

I don't know, what is wrong -- in my setup there was no such problem, however if kphone can register, and connect/disconnect calls, I doubt that there is anything wrong with the libraries other than things that directly affect audio devices and codecs. What Openzaurus version is it? Is it possible that some other application, such as audio recorder or player, is keeping the /dev/dsp or /dev/dsp1 device open? What is on the other end, and if it's asterisk, or something else that shows protocol information, what codec does it think, kphone is using?
8 comments or Leave a comment