Today I spent an hour to take a look at Ribbit api and to start a first flex example with them.
For now you make a call to USA phone numbers only, in fact when you enter your Ribbit profile, you receive a USA number to use for test.
So I use Skype to make a call to my Ribbit number.
Example is very easy but with this few code you can receive and make call to USA number (Europe number are available in mid 2008 probably).
After registrarion and approval from Ribbit team you can download SWC from Ribbit site that you add in your Flex application.
First of all you must create a Ribbit istance and a CallObject:
private var myRibbit:RibbitRequest = new RibbitRequest(); private var ribbitObj:CallObject;
Then you add listner to know when you are logged in Ribbit server, when you are making a call and when you are receiving a call.
myRibbit.addEventListener(RibbitResponseEvent.LOGGED_IN, handleLoggedIn); myRibbit.addEventListener(RibbitResponseEvent.RIBBIT_SERVER_CONNECTED, handleRibbitServerConnected); myRibbit.addEventListener(RibbitResponseEvent.CALL_CONNECTED, handleCallActive); myRibbit.addEventListener(RibbitResponseEvent.INCOMING_CALL, handleCallIncoming);
So you login with:
myRibbit.login("user", "psw", "devID", "appID");
All data that you put in login method you can find in your Ribbit profile.
Then you create function that you define in Ribbit object listner:
private function handleCallIncoming(e:RibbitResponseEvent):void{ receiveBtn.enabled = true; ribbitObj = new CallObject(); ribbitObj = e.data as CallObject; } private function handleCallActive(e:RibbitResponseEvent):void{ trace("call active man!") } private function handleLoggedIn(e:RibbitResponseEvent):void{ trace("you are logged in") } private function handleRibbitServerConnected(e:RibbitResponseEvent):void{ trace("server ok") makeBtn.enabled = true; }
So now we only put in our flex project 2 buttons, one to receive a call and another one to make a call to a specific USA number.
<mx:VBox> <mx:Button id="makeBtn" label="make call" click="{myRibbit.makeCall('USAPhone')}" enabled="false" /> <mx:Button id="receiveBtn" label="receive call" click="{myRibbit.answerCall(ribbitObj)}" enabled="false" /> </mx:VBox>
Very easy to use and so powerfull API!
I remember to all that Ribbit team launch a phone contest, more information in Ribbit site
Enjoy!
Luca this is Great!
Thank you for your insightful post on our Ribbit API and we appreciate your support all the way from Italy.
I am happy that our API was so easy for you to use!
Feel free to reach out to me or use our forums (http://developer.ribbit.com/forums/) if you ever need any assistance.
Best,
Rob Abbott
http://developer.ribbit.com
Interesting article. Thanks for the information.
Nice article Luca, will look into this from the UK. Cheers