Tim Panton - Presentation at Emerging Communications Conference & Awards (eComm 2011)
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Tim Panton - Presentation at Emerging Communications Conference & Awards (eComm 2011)

  • 688 views
Uploaded on

Please see blog http://blog.eComm.ec

Please see blog http://blog.eComm.ec

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
688
On Slideshare
688
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Transcript

  • 1. Asterisk SCFA developer’s view Tim Panton - PhoneFromHere.com twitter.com/steely_glint
  • 2. Asterisk SCF recap• Scalability• Fault tolerant• Extensible• Performance
  • 3. Developer Ecosystem• Tip of the hat to Digium Inc• Developers involved throughout• Requirements from ecosystem• Open development process
  • 4. What I wanted• Extensibility• Modern Language support• Dynamic• Cloud friendly
  • 5. The Experiment• Git snapshot of current code• Not a release !• Not a routing engine• Help from asterisk-scf-dev IRC• Used Groovy (via JVM)
  • 6. Live code demo• Code at github• https://github.com/steely-glint/ascf-groovy- demo
  • 7. Auto generated Static code un-demo java classes Initialize import AsteriskSCF.Configuration.SipSessionManager.V1.*; ICE RPC import AsteriskSCF.Core.Discovery.V1.*; protocol import AsteriskSCF.System.Configuration.V1.*; Connect toSer viceLocator Ser vice ic = Ice.Util.initialize(null); sloc = ServiceLocatorPrxHelper.checkedCast(ic.stringToProxy("LocatorService:tcp -p 4411")); List all services = Arrays.asList(sloc.locateAll(new SipConfigurationParams())); ser vices sipconf = services.findAll { item -> ConfigurationServicePrxHelper.checkedCast(item) != null} Find the SIP sc = ConfigurationServicePrxHelper.checkedCast(sipconf[0]);Session   cgrps = [ Pick the first Manager(s)     { g = new SipGeneralGroup(); g.configurationItems = [:] ; return g} , one     { u = new SipUDPTransportGroup();       u.name = "h-udp";       u.configurationItems = [ "host" : new SipHostItem(1,"127.0.0.1",5081)]; Define a       return u}, couple of local     { u = new SipUDPTransportGroup(); Convert to       u.name = "h-udp1"; ICE friendly endpoints       u.configurationItems = [ "host" : new SipHostItem(2,"127.0.0.1",5080)]; format       return u}]; grps = cgrps.collect{item -> item.call()} sc.setConfiguration((ConfigurationGroup[])grps.toArray()); Send the request to ASCF
  • 8. What have I proved ?• Dynamic configuration• Cloud friendly• JVM language support (java, scala, javascript)• Components independently managable
  • 9. Voice 3.0 ready• Adornment• Session Cookies• webRTC• Hooks
  • 10. Conclusions• Still a work in progress• Much to be done• Much to be documented• Fundamentals are right• Future-proofing is in place
  • 11. Thanks• Comments or questions @steely_glint• My blog at babyis60.wordpress.com