261006 AstriCon Dallas - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

261006 AstriCon Dallas

Description:

AstriCon Dallas. Implementing IAX2 In Java. Tim Panton Director. tim_at_mexuar.com. 26/10/06 ... AstriCon Dallas. Tim Panton Director. tim_at_mexuar.com. 14. Do ... – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 19
Provided by: blogsR
Category:
Tags: astricon | dallas

less

Transcript and Presenter's Notes

Title: 261006 AstriCon Dallas


1
Implementing IAX2 In Java
  • Tim Panton Director
  • tim_at_mexuar.com

2
Introduction
  • Demo Cards
  • CorraletaTM
  • IAX2 protocol
  • Java
  • Softphone
  • 125kb
  • Signed Applet
  • Skinnable

3
History
  • Westhawk Ltd
  • Software consultancy for 20 years
  • Open source SNMP in Java (gt10 years now !)
  • CTI project v1 Sun BRI, v2 PRI dialogic
  • Web services/security
  • Old BRI exchange
  • Redundant PRI line

4
Asterisk
  • Installed Asterisk as office PBX
  • With snom phones
  • Neat dialplan
  • Home/roam etc
  • Firefly (IAX) on laptops
  • ... all happy, except me, I have a Mac.

5
It begins...
  • No good IAX client (then) for Mac
  • IAX doc a bit thin, but... I could do that!
  • Start from doc and packet inspection
  • Use Java because... We just do
  • Not a port of IAX client or chan_iax2

6
Why IAX ?
  • Simpler than SIP
  • Draft RFC is only 90 pages
  • SIP/STUN/RTP has 90 RFCs
  • Security background - SIP looks like FTP without
    pasv!
  • Unix background - do just one thing, well!

7
Problems 1
  • Sequence numbers and Acks -
  • Hard to get your head around, 'till you look at
    it from correct angle
  • Every received packet is an ack of all packets
    sent up to the iseq number in that packet
    (thanks Mark!)
  • Registration exchange is an audio-free call
  • with a short lifespan.

8
Problems 2
  • Audio clock skew
  • 1 of 10 mins is 6 sec!
  • So insert or elide single samples
  • Latency
  • Can't buffer much or delay is audible
  • Default ALSA buffer is 64k - 8 sec !
  • Multiple buffer layers in JavaSound

9
Problems 3
  • UDP and packet loss
  • Round trip time 100ms - too long
  • Can't request retry
  • Just wait as long as we dare for it to turn up
    out of order then make something up

10
Problems 4
  • Codecs all in higher layers of Java
  • Too much buffering
  • Re-implement
  • Keeping buffer half full
  • JavaSound blocks given the chance
  • Use Java threads own ring buffer to help

11
Problems 5
  • WriteOnceRunAnywhere
  • Or not
  • Audio device capabilities/bugs vary
  • Sound in Jdk1.5 much better

12
Ok, done that, what next ?
  • Built a simple UI for my application
  • Used it on the Mac
  • Bit dissatisfied with the UI, want it scriptable/
    skinnable
  • Founded Mexuar

13
Where is the phone?
  • Demo Hello Kitty
  • CorraletaTM Technology SDK
  • No need for a Java coder
  • Interface is all JavaScript/DHTML
  • We provide the skeleton
  • You provide the skin
  • And the users!

14
Do you know what you have done?
  • No
  • But I'm beginning to...

15
So what have we got?
  • Asterisk flexibility
  • Modern Java in browser
  • IAX goes through NAT/firewalls
  • ADSL adoption - plenty of bandwidth
  • Skype etc. speed take up of microphones
  • Portable
  • Zero install

16
What next?
  • You tell me...
  • Conference calls
  • Low latency webcasts (auctions?)
  • Webphones for ITSPs
  • Dating
  • Asterisk demos (Zork, parrot)
  • Flash call centres
  • Click to talk 2.0 -)

17
CorraletaTM Connect
  • Hosted ASP
  • UK launch next month
  • Context passing
  • Any sufficiently advanced technology
  • is indistinguishable from magic
  • Arthur C. Clark

18
Questions ?
  • Contact info
  • tim_at_mexuar.com
  • www.mexuar.com
  • Visit us at booth 118 of the exhibition
  • To find out more!
Write a Comment
User Comments (0)
About PowerShow.com