[pjsip] SIP trunking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Benny
Locally here in South Africa and many developing nations where bandwidth
cost is 3 to 10 times the norm, the first question in VOIP proposals is
bandwidth.

I found the following drafts with similar ideas,

http://tools.ietf.org/html/draft-ietf-avt-mux-rtp-00 expired : Feb 21, 1999

draft-tanigawa-rtp-multiplex-00.txt Expires: December 16, 1998

These did not  make it as standards.

RFC 4170          Tunneling Multiplexed Compressed RTP     November 2005
This is the Best Current Practice, although I could not find any actual
implementations on the net.

I think in a world where the internet is getting faster and cheaper by the
day, most people are not concerned about the waste in small VOIP packets.

For those who are interested in reducing bandwidth, here is some of my
calculations.




     Codec   Mux Mini RTP Header Full RTP Pack


     # channels in # channels in # channels in
      Codec bit rate Mux config same pipe same pipe same pipe
      8kbps 8 ch * 40ms 2.55 2.57 2.10
      8kbps 12 ch * 40ms 2.65 2.66 2.14
      6kbps 8 ch * 40ms 2.97 2.99 2.33
      6kbps 12 ch * 40ms 3.11 3.13 2.38
      4kbps 8 ch * 40ms 3.70 3.74 2.68
      4kbps 12 ch * 40ms 3.95 3.97 2.76



Mini RTP, and Full RTP pack refer to above drafts requiring extensive
protocol changes.

Codec Mux can be implemented in specific applications(branch to branch
communications)
without changes to the SIP protocol stack.


Using a multiple channel codec mux that calls underlying codecs, and a
application that is aware of this codec ability, the application can set-up
a SIP link for as many channels as it needs.
DTMF events (and maybe other things) may require special attention.

Anyone that would like to share in such a  project is welcome to contact me.

Will keep you posted.

Regards
Lafras


----- Original Message -----
From: "Lafras Henning" <lafras@xxxxxxxxxx>
To: "pjsip embedded/DSP SIP discussion" <pjsip at lists.pjsip.org>
Sent: Wednesday, October 03, 2007 10:56 PM
Subject: Re: [pjsip] SIP trunking


Hi Benny,

>It will increase latency and make it more prone to packet loss of
>course, but I guess that's the price you'll have to pay for having
l>less bandwidth.

Well that is exactly the point,
We want communications with less latency, less bandwidth and less noticeable
packet loss,
If a user is trunking 8 channels of VOIP to a TISP,
we can reduce the bandwidth AND/OR latency per channel by packing.

>What would you save by combining SIP and RTP into a single transport?
I do not suggest we combine SIP and RTP,
I suggest we combine packets going to the same destination/proxy
irrespective of protocol,
if this happens to be SIP and  RTP combined then all the better.
In fact SIP and RTP may still be best served going to separate
destination/proxies as they do now.

If I can take my 8 channels and squeeze them into the same space as
three.three channels, as per your calculation example,
(and get the same or better latency) I'll will take it any day. Especially
if my a TISP only needs a B2BUA to comply. Packet loss would improve in
narrow pipes as less data is sent.

To reduce latency we can use codecs with smaller sample buffers and pack
more channels.
Packet loss would be better as 8 separate users would notice 1/8 loss each,
less than a single user with 1/1 loss would notice.

For best QOS in larger trunks(100+), sending  a few G711 samples per channel
could bring SIP to PSTN quality in terms of latency.

All this within the SIP protocol.

>IAX saves bandwidth because it modifies the protocol, AFAIK.
IAX cannot compress voice much more than or even as much as speex.
The verbose SIP protocol would compress very nicely (probably close to IAX
overhead %) with standard lossless data compression algorithms.

Regards
Lafras


----- Original Message -----
From: "Benny Prijono" <bennylp@xxxxxxxxx>
To: "pjsip embedded/DSP SIP discussion" <pjsip at lists.pjsip.org>
Sent: Wednesday, October 03, 2007 9:16 PM
Subject: Re: [pjsip] SIP trunking


Hi Lafras,

please excuse the lack of deep analytical review to your proposal,
by I think the idea is silly. What would you save by combining SIP
and RTP into a single transport? IAX saves bandwidth because it
modifies the protocol, AFAIK.

There is one thing that you could do, within the standard, to reduce
the overhead, that is to pack multiple codec frames into one RTP
packet. Lets see how much we could gain by doing so:

Assuming an 8Kbit/s (1KByte/s) codec is used (and overhead is 40
bytes per packet for IP+UDP+RTP headers):

   #frames   Header-bandwidth Overhead Total b/w
      1      40x50=2000       200%     24 Kb/s
      2      40x25=1000       100%     16 Kb/s
      4      40x12.5=500      50%      12 Kb/s
      6      40x9.3=333       33.3%    10.6 Kb/s
      8      40x6.25=250      25%      10 Kb/s

I guess it doesn't look too bad anymore, say with 4 frames per RTP.
It will increase latency and make it more prone to packet loss of
course, but I guess that's the price you'll have to pay for having
less bandwidth.

Btw in pjmedia you set the number of frames per packet by specifying
it in pjmedia_stream_info.param->setting.frm_per_pkt. But IIRC it
currently only works for g711, which kinda defeat the purpose. :)

cheers,
  -benny


Lafras Henning wrote:
> Hi Benny,
> A general VOIP question,
>
> I see in the internet a lot of reference to SIP trunking, but this refers
to
> just using normal SIP to communicate a number of channels to a TISP.
>
> IAX/2 fills a niche mainly to optimise bandwidth by sharing IP overhead.
> Needed when in high compression codecs, overhead is 50% of the traffic.
> Surely we don't need a totally different protocol to do this?
> It would be better to concatenate SIPand RTP packets (going to a single
> destination/proxy)
> into a single UDP/TCP/TLS payload with change to the transport layer of
> the SIP stack (and publish a RFC on it).
>
> - The main objective is to share headers.
> - Optionally some SIP content compression could be added.
> - I don't think RTP content compression would have much benefit(can't
> beat speex :).
> - Implemented in the transports layer.
>
> Or do you think the gains would be inconsequential?
>
> Or do you think such is better left for external solutions such as VPN -
>   although I don't think that would allow for optimal bandwidth solution.
>
> Or is it a stupid idea?
>
> If not let's call this SIPTP - SIP Trunk Protocol - logical hey?
>
> Not to be confused with
> trans-di-?-hydridobis(silyl)bis(trialkylphosphine)di-platinum complexes
> (SiPtP)2 -
> and we thought programmers were geeks! ;)
>
> Regards
> Lafras
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


--
Benny Prijono
http://www.pjsip.org



_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip at lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip at lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org





[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux