WiFi over 100km

22 05 2008

Read this blog on Intel’s Rural connectivity Project (RCP) initiated project to extend WiFi range. With MAC enhancements (and possibly radio and other software enhancements), Intel seem to have achieved 100km access range over WiFi… Now thats very comparable to WiMAX’s promissed 30km range.

Now this is still requires LOS (Line of Sight) and this possibly was tested on a terrain that was flat enough to achieve it. Depite that I think this is a breakthru.

Does this mean this will give WiMAX its run for the money? I don’t think so. Atleast not in the short run. WiMAX has gained enough traction of its own. Also Iam not sure about the path to standardization and availability of this WiFi extension into the market.

But given the overall price advantage of WiFi access points, this would be a great boon for last mile solution in rural areas and for MAN.





Is VoIP Moving slow?

27 09 2007

James Seng seem to think so in his blog… and Om seem to concur. I wonder why  .. Is innovation really slowing on the VoIP front? In my opinion VoIP really is the next  big thing. But most of the companies seem to be focusing on just few products mainly in the cheap services (Vonage, ooma..) or on mimicking the old TDM services (coutless fax, conference services). Both are bad. Some enhanced services (GrandCentral, etc) did come along the way. But Iam sure more is in store for VoIP and we would see more interesting services and companies with mobile convergence.

Blogged with Flock





MagicJack

3 08 2007

Scoop: A fried of mine referred me to this USB based VoiP service MagicJack.magicjack.png Quite interesting … you get a USB to telephone jack  convector and connect a traditional phone out. Apparently MagicJack has extensive network and gateways to route calls throughoutand has a huge pile of free numbers to give away (during its promo offer).

Pricing: $40 for device with memory or $20 without. $20 annual fee after first year.

My Thoughts:If they maintain the call quality and give enhanced services as freebies, this can be a killer service.





twinkle twinkle little SER

1 08 2007

I was attempting to make a call from two softphones via a SIP server. Something like twinkle <=> SER <=> twinkle. Simple! right ? OpenSER seem like a popular choice. But I had little trouble starting up with that. Contrary to popular opinion, I found SER documentation, esp this getting started guide to be a good tutorial. If someone can point me to something similar in OpenSER, it would be great!

Based on the guide, I made simple changes to my /etc/ser/ser.cfg

# ———– global configuration parameters ————————
#debug=3 # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=no # (cmd line: -E)
debug=7 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=yes
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
#children=4
fifo=”/tmp/ser_fifo”

# —————— module loading ———————————-

Start the server up

/usr/sbin/ser D E
or
/etc/init.d/ser start

Start twikle up,

Set User Profile->Registrar to localhost IP

Set System Profile->Network->SIP UDP Port to 5061 (since SER is listening on the default 5060)

Invole Registration->Register

Check with Registraton->Show Registrations

Wed 17:52:43
localser: you have the following registrations
<sip:bsnram@10.130.102.209:5061>;expires=2181

Now open twinkle as another user (right now from the same box, will try from different box later)

essentially do the same as before using different port (5062) and different user name (nram2)

Show Registration on the nram2 displays this:

Wed 17:53:32
default: you have the following registrations
<sip:nram2@10.130.102.209:5062>;expires=2089

Verify that SER got these as well.

root@marvin:/var/log# serctl ul show
Dumping all contacts may take long: are you sure you want to proceed? [Y|N] Y
1(10033) **** done consume
===Domain list===
—Domain—
name : ‘aliases’
size : 512
table: 0xb5f1dd58
d_ll {
n : 0
first: (nil)
last : (nil)
}
—/Domain—
—Domain—
name : ‘location’
size : 512
table: 0xb5f1bcf8
d_ll {
n : 2
first: 0xb5f1fd60
last : 0xb5f1fe58
}
…Record(0xb5f1fd60)…
domain: ‘location’
aor : ‘nram2’
~~~Contact(0xb5f1fda0)~~~
domain : ‘location’
aor : ‘nram2’
Contact : ‘sip:nram2@10.130.102.209:5062’
Expires : 2032
q :
Call-ID : ‘zgbfjpjwtkjwsbd@10.130.102.209’
CSeq : 932
User-Agent: ‘Twinkle/1.0’
received : ”
State : CS_NEW
Flags : 0
next : (nil)
prev : (nil)
~~~/Contact~~~~
…/Record…
…Record(0xb5f1fe58)…
domain: ‘location’
aor : ‘bsnram’
~~~Contact(0xb5f1fe98)~~~
domain : ‘location’
aor : ‘bsnram’
Contact : ‘sip:bsnram@10.130.102.209:5061’
Expires : 2075
q :
Call-ID : ‘ftolomycgbosabi@10.130.102.209’
CSeq : 739
User-Agent: ‘Twinkle/1.0’
received : ”
State : CS_NEW
Flags : 0
next : (nil)
prev : (nil)
~~~/Contact~~~~
…/Record…
—/Domain—
===/Domain list===

Now just call the 2nd SIP user ( sip:nram2@10.130.102.209:5062) from 1st instance of twinkle. Works great

I think once registered, the calls don’t go thru the proxy. I see no logs, Even if SER is shutdown the calls still go thru, until twikle instances themselves are shutdown.

I also tested services like Do not Disturb and Call redirection. All worked great (I redirected the calls to SER server itself and I did see it take the message from the logs)

Cool!





More on ekiga and twinkle

1 08 2007

Require a sip service provider a/c (see below) or just select IP-IP mode. Just for the kicks, I opened twinkle and ekiga on the same box and tried to call each other. The basic call setup (SIP signalling) went alright. But due to resource collision I can’t basically have a voice path setup. Got to try from different machines.You can see the SIP (and SDP) messages exchanged for callsetup under logs (View->Logs in Twinkle)

+++ 29-7-2007 00:01:52.058494 INFO SIP ::send_sip_udp
Send to: 86.64.162.35:5060
INVITE sip:bsnram@ekiga.net SIP/2.0
Via: SIP/2.0/UDP 192.168.0.101:5061;rport;branch=z9hG4bKoztcbmsj
Max-Forwards: 70
To: <sip:bsnram@ekiga.net>
From: “Ramesh Natarajan” <sip:bsnram@ekiga.net>;tag=rgkpq
Call-ID: cmepyztepvlzdoj@192.168.0.101
CSeq: 29 INVITE
Contact: <sip:bsnram@192.168.0.101:5061>
Content-Type: application/sdp
Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO
Supported: replaces,norefersub,100rel
User-Agent: Twinkle/1.0.1
Content-Length: 309

v=0
o=bsnram 1474529385 737035147 IN IP4 192.168.0.101
s=-
c=IN IP4 192.168.0.101
t=0 0
m=audio 8002 RTP/AVP 98 97 8 0 3 101
a=rtpmap:98 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20





Whats the deal with the white rabbit ?

29 07 2007

Ooma deviceScoop: 27M of VC money, 2.5 years of development for another VoIP service that essentially exploits the free termination loophole? I wonder what the deal is with Ooma? This is a service that gives you a set-top box that acts as ATA (broad band in, standard telephony jack, perhaps mutliple? out and vice versa). Call termination is simple. its just going to be like any other VoIP offerings such as Vonage. But for callout, it seem to route the calls to any Ooma user near to its location who has a local landline, terminate it at his box (basically then the box acts as a CO switch — now wait until the telco’s respond to that :-)), place a regular local call from there. Is it innovation or twisted PhoneGnome, sort of both or or just plain boring ? I guess it depends on who you ask!

Pricing: $399 for the box. Free USA and Canada calls forever.

My Thoughts: So for this to succeed, Ooma must be counting on large number of its customer base to have traditional local service. Otherwise it has to pay for these local routing. And for money stream, they may offer some enhanced and premium services and charge a monthly fee. I can’t imagine they can run the company from just selling the set-top box for $399.





Open source VoIP Apps

28 07 2007

Softphones:

  • Ekiga is a tool to communicate with video and audio over the internet.
    It uses both SIP and H323 protocol and is compatible with Microsoft Netmeeting.
    It used to be called GnomeMeeting

This seem quite usable. A client, service provider + a sip address (sip:bsnram@ekiga.com). Right after the signup, echo test with placing a callto sip:500@ekiga.net. Works great!

  • Twinkle is a soft phone for your voice over IP communcations using the SIP
    protocol. You can use it for direct IP phone to IP phone communication or in
    a network using a SIP proxy to route your calls

Require a sip service provider a/c (see below) or just select IP-IP mode. Just for the kicks, I opened twinkle and ekiga on the same box and tried to call each other. The basic call setup (SIP signalling) went alright. But due to resource collision I can’t basically have a voice path setup. Got to try from different machines.

You can see the SIP (and SDP) messages exchanged for callsetup under logs (View->Logs in Twinkle)

+++ 29-7-2007 00:01:52.058494 INFO SIP ::send_sip_udp
Send to: 86.64.162.35:5060
INVITE sip:bsnram@ekiga.net SIP/2.0
Via: SIP/2.0/UDP 192.168.0.101:5061;rport;branch=z9hG4bKoztcbmsj
Max-Forwards: 70
To: <sip:bsnram@ekiga.net>
From: “Ramesh Natarajan” <sip:bsnram@ekiga.net>;tag=rgkpq
Call-ID: cmepyztepvlzdoj@192.168.0.101
CSeq: 29 INVITE
Contact: <sip:bsnram@192.168.0.101:5061>
Content-Type: application/sdp
Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO
Supported: replaces,norefersub,100rel
User-Agent: Twinkle/1.0.1
Content-Length: 309

v=0
o=bsnram 1474529385 737035147 IN IP4 192.168.0.101
s=-
c=IN IP4 192.168.0.101
t=0 0
m=audio 8002 RTP/AVP 98 97 8 0 3 101
a=rtpmap:98 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20

Service Providers (free)

  • SipGate: also has client X-Lite (do they have linux version?)

Proxies and SIP Servers

  • SER: SIP Express Router from iptel.: SIP server (redirect, proxy and register server). Not a call session aware B2BUA (Back to back user agent). I have n’t tried it yet, but seem like the configuration might be quite involved.
  • OpenSER: free proxy server. This is a SIP proxy, registrar, location, app and dispatcher server. If this sounds similar to SER, it actually is. This claims to be low latency dev cycle and more open than SER and here is abrief comparison of SER and OpenSER

I choose to download the source tar (non TLS, no DB) and install it. Here is some more info on install.

Basically its,

make
make prefix=/usr/local install

and Iam done. (I just had to install bison via Synaptics). Thats simple!

Next step, start it from /usr/local/sbin/openserctl. (I had to stop ekiga since it was using the same port. ekiga was still running in the background after closing the window. Had to do a killall, not sure if there is any ctlfunctins to gracefully exit ekiga)

[root@marvin run]# openserctl start

Starting OpenSER : Jul 29 01:18:41 marvin openser: init_tcp: using epoll_lt as the io watch method (auto detected)
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14941]: INFO: statistics manager successfully initialized
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14941]: StateLess module – initializing
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14941]: TM – initializing…
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14941]: Maxfwd module- initializing
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14941]: INFO:ul_init_locks: locks array size 512
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14941]: TextOPS – initializing
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14941]: INFO: udp_init: SO_RCVBUF is initially 109568
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14941]: INFO: udp_init: SO_RCVBUF is finally 219136
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14941]: INFO: udp_init: SO_RCVBUF is initially 109568
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14941]: INFO: udp_init: SO_RCVBUF is finally 219136
Jul 29 01:18:41 marvin /usr/local/sbin/openser[14943]: INFO:mi_fifo:mi_child_init(1): extra fifo listener processes created
INFO: started (pid: 14941)
[root@marvin run]# ps axw | grep openser
14634 ? Ss 0:00 gvim openser.cfg
14941 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14943 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14944 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14945 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14946 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14947 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14948 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14949 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14950 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14951 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14952 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14953 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14954 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14955 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14956 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14957 ? S 0:00 /usr/local/sbin/openser -P /var/run/openser.pid
14962 pts/1 R+ 0:00 grep –color openser ( I love this grep –color enhancement)

Resources:

  • Wiki: from voip-info.
  • List of SIP software in Wikipedia
  • List of SIP S/W in iptel site