1 / 34

Application Development for Dual-Mode Phones

Application Development for Dual-Mode Phones. Michael Stanford – Wirevolution Wai Seto - Nokia. Agenda. Michael Stanford Introduction and Background Wai Seto S60/Symbian API VoIP Settings Case studies. Introduction. Dual-mode phone: Cellular + Wi-Fi

nibaw
Download Presentation

Application Development for Dual-Mode Phones

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Application Development for Dual-Mode Phones Michael Stanford – Wirevolution Wai Seto - Nokia

  2. Agenda Michael Stanford • Introduction and Background Wai Seto • S60/Symbian API • VoIP Settings • Case studies

  3. Introduction • Dual-mode phone: • Cellular + Wi-Fi • Wi-Fi can be used for voice or data • Why add Wi-Fi to cell phones? • Carriers: • Network offload • Increase coverage without build-out • Businesses: • Reduce bills • Increase reach of corporate phone system • Bring cellular devices under control of IT dept. • Consumers: • Usable browser • Better coverage at home • More service options

  4. Market • Market size estimates vary – roughly 200 million Wi-Fi enabled phones to be sold in 2010. • Mainly smartphones • Dwarfs estimates for Wi-Fi only phones • Business and consumer markets will be clearly differentiated • Blackberry, Eseries, PDA-phones • Multimedia, Nseries, MP3/camera/TV phones • Smartphone vs. phone. Open vs. Closed handset. Wi-Fi Data vs. Voice. Device app vs. network svc. • Who do you sell your apps to? • Carriers • Direct to users (businesses, consumers)

  5. These numbers are in millions But ABI (Sept 2006) predicts 300 M in 2011! They are expecting many to be UMA style, non-smart-phones Dual Mode Phone Shipments WW Source: Arima/IEK March 2006

  6. Source: IDC 2007 The Big 5 Cellphone Makers WW

  7. Source: Canalys 2007 Big 5 Smartphone Makers WW

  8. Development environments • Processor: ARM. • Platform • TI OMAP, Qualcomm BREW • OS (market share in 2006 – Canalys) • Symbian (67%) • Major revision due end of 2008 - Version 9.5 • Will include “bearer mobility” – WLAN/cellular switching • Used by Nokia, Samsung, SonyEricsson, Motorola • Windows Mobile (14%) • Used by Motorola, HTC, Samsung, Palm, HP • Linux (6%) • Used by Motorola, Samsung, OpenMoko • Garnet (Palm OS) (5%) • Blackberry OS (7%), Apple OSX

  9. Why VoWLAN? • All the benefits of VoIP: • Lower cost • Superior audio quality (wideband codecs) • Easier development of new features • Wi-Fi only phones: some of the benefits of mobility • Carry phone around at home or at work • Dual-mode phones: all the benefits of mobility • Plus all the benefits of PBX • You only need one phone – additional savings • Dual-mode smart phones: • Can displace laptops for some people

  10. Challenges of VoWLAN • Battery life • Wi-Fi WMM Power Save (=802.11e U-APSD) • QoS • Wi-Fi WMM (=802.11e), admission • Roaming • Authentication, admission (802.11r, 802.11u) • Bandwidth demand • So require 11n, 11e, dual-band Wi-Fi (2.4 and 5.8 GHz) • Security: same as data WLAN security (802.11i) • Eavesdropping? Not really an issue. • DOS • Hacking into corporate network • Plus PBX security issues – theft of long distance

  11. Wai Seto • Seto, Wai has more then 11 years experience in computer networking and mobile communications industry, and currently serves as Senior Technology Expert, for Nokia. Mr. Seto is responsible for handling technical questions from software developers, industry analysts and business partners who are interested in Nokia Mobile Platforms. E61 E60 E70 E65 N93i E61i N95 E90

  12. VoIP Related S60/Symbian APIs • S60 SIP Framework • S60 RTP API • Telephony • S60 Audio Proxy Server API • WLAN • Provisioning • Open C Support** - Enable open source components. • http://forum.nokia.com/main/resources/technologies/open_c/index.html • Online Resources • http://forum.nokia.com/

  13. SIP Framework in S60 • Classes provided • SDP Codec API • SIP Client API • SIP Client Resolve API • SIP Codec API • SIP Profile API • SIP Configuration API • Resources • SDK Documentation >> Tools and Utilities >> SIP Developer User’s Guide • SIP Server emulator provided in S60 3rd SDK • S60_3rd_SDK_\S60ex\SIPExample • http://forum.nokia.com/main/resources/technologies/sip.html

  14. SIP Framework Sample • SIP Engine in Sample code

  15. RTP API • Classes provided • CRtpAPI • MRtcpObserver • MRtpErrNotify • MRtpObserver • The API allows: • Create RTP session • Create Receive/Transmit Streams • Receive/Send RTP packets • Get/Set Sampling Rate • Offer only in SDK extensions plug-in • At www.forum.nokia.com search for “Extensions plug-in package” • Documentation is included in the package

  16. CRtpAPI Class

  17. ETel 3 Party API • CTelephony Class provides a simple interface to the phone's telephony system. It provides two services: • You can find out information about the phone. This class provides support for retrieving Phone Settings, Line Information, Call Functionality, Network Information and (basic) Supplementary Service Settings. • You can dial, answer and control voice calls. • Documentation • S60_3rd_SDK » Symbian OS v9.1 » Symbian OS reference » C++ component reference » Telephony ETEL3RDPARTY » CTelephony • Samples • Telephony Call, Telephony Info

  18. ETel 3rd Party API (Sample) • To get phone ID (IMEI) • void CIsvTelInfoAppTelephony::TelApiWrapperGetPhoneIdL( ) { • CTelephony::TPhoneIdV1Pckg iPhoneIdPckg; • iTel = CTelephony::NewL(); • iTel->GetPhoneId( iStatus, iPhoneIdPckg ); • SetActive(); • StartWait(); • }

  19. ETel 3rd Party API (Sample) • To make a new call void CIsvTelCallAppTelephony::TelApiWrapperMakeNewCallL( CTelephony::TCallId aCallId, TBuf<CTelephony::KMaxTelNumberSize> aTelNumber) { if ( IsActive() ) { return; } iTelApiCmd = EMakeNewCall; CTelephony::TCallParamsV1 callParams; CTelephony::TCallParamsV1Pckg callParamPckg( callParams ); iCallId = aCallId; iTelNum = aTelNumber; iTel->DialNewCall( iStatus, callParamPckg, iTelNum, iCallId, CTelephony::EVoiceLine ); SetActive(); StartWait(); }

  20. WLAN Mgmt API • This API provides the ability to retrieve information, receive notifications and change setting of WLAN environment. • Class provided • CWlanMgmtClient • Class for instantiating an implementation of MWlanMgmtInterface via ECom. wlanmgmtimpl.dll • CWlanScanInfo • Class for instantiating an implementation of MWlanScanInfoBase and MWlanScanInfoIteratorBase via ECom • MWlanMgmtInterface • ECom interface class for WLAN management services • MWlanMgmtNotifications • Callback interface for WLAN management notifications • MWlanScanInfoBase • ECom interface class for WLAN scan results • MWlanScanInfoIteratorBase • ECom interface class for WLAN scan results iterator • Offer only in SDK extensions plug-in • At www.forum.nokia.com search for “Extensions plug-in package” • Documentation is included in the package

  21. WLAN Mgmt API (cont.) • MWlanMgmtInterface

  22. WLAN Mgmt API (Sample) • To get the scan results // scanInfo is a pointer to a CScanInfo object that contains results // from a scan. // Information Element ID for SSID as specified in 802.11. const TUint8 KWlan802Dot11SsidIE = 0; // Iterate through scan results. for( scanInfo->First(); !scanInfo->IsDone(); scanInfo->Next() ) { // Parse through BSS parameters. TWlanBssid bssid; scanInfo->Bssid( bssid ); // BSSID of the BSS is now stored in bssid. TUint8 ieLen( 0 ); TUint8* ieData( NULL ); TInt ret = scanInfo->InformationElement( KWlan802Dot11SsidIE, ieLen, &ieData ); if ( ret == KErrNone ) { // ieData now points to the beginning of the 802.11 SSID payload data // (i.e. the header is bypassed). ieLen contains the length of payload // data. } }

  23. WMM Power Save 802.11e U-APSD • Supported by Nokia handsets • Unscheduled Automatic Power Save Delivery • Optimized for full duplex real-time traffic • Used when both the AP and station support it • The main difference to the legacy PS is that the delivery of downlink packets is triggered by the uplink packets • E.g., every uplink VoIP packet triggers delivery of the buffered downlink packet(s) • No need to wait for the beacon and use separate polling • In case there is no uplink data to send, AP will advertise the buffered packets in beacon and the station will fetch them by polling • With half-duplex data, APSD operation is essentially the same as legacy power save operation • Using APSD, the application (RTP in VoIP case) should send packets at regular intervals. • At application level, power save can be set using RSocket::SetOpt function to set TOS of the socket. • RSocket::SetOpt(KSoIpTOS, KProtocolInetIp, 70) • For Nokia VoIP client, this value is set as MediaQoS in VoIP profile.

  24. S60 Audio Proxy Server API • This server component provides speech codecs, audio routing, and audio streams control. • Supported codecs are G711, G729, iLBC, AMR-NB • Class provided • RAPSSession • Offer only in SDK extensions plug-in • Sample code isprovided in theplug-in

  25. S60 Audio Proxy Server API • Audio Proxy Server Codec usage /** * A combined definition for setting * the codec mode. See comments to differentiate * in case of G711 and ILBC. */ enum TCodecMode { EALawOr20ms, //G711 - EALaw; ILBC - 20ms frame mode EULawOr30ms //G711 - EULaw; ILBC - 30ms frame mode }; IMPORT_C TInt SetDecoderMode(TCodecMode aMode); IMPORT_C TInt SetEncoderMode(TCodecMode aMode); //g711decoder, ilbc decoder IMPORT_C TInt SetCng(TBool aCng); IMPORT_C TInt GetCng(TBool &aCng); //g711decoder IMPORT_C TInt SetPlc(TBool aPlc); //g711encoder, g729encoder, ilbc encoder IMPORT_C TInt SetVadMode(TBool aVadMode); IMPORT_C TInt GetVadMode(TBool &aVadMode); //g729decoder IMPORT_C TInt BadLsfNextBuffer();

  26. OMA Client Provisioning WAP Push based Client Provisioning Registration XML based documents Nokia VoIP 2.1 release setting added http://forum.nokia.com/info/sw.nokia.com/id/b248e016-e2c4-4392-83a8-02a43e39d5ec/Client_Provisioning_Registration_v1_7.zip.html OMA Device Management SyncML based OMA DM Objects available are Generic VoIP settings, NATFW, SIP, Nokia VoIP Implementation http://forum.nokia.com/main/resources/technologies/voice_over_IP/ Noka VoIP Configuration Tutorial Combined tutorial for Nokia VoIP configuration http://forum.nokia.com/main/resources/technologies/voice_over_IP/ VoIP Settings

  27. More on Nokia VoIP Configuration • Nokia S60 VoIP Implementation Configuration Tutorial v1.1 • Terminal specific settings • Internet Call Waiting, Anonymous call block, Preferred telephony, etc • VoIP profile settings • Speech codec settings, VoIP service parameters, etc • SIP profile-specific VoIP settings • MediaQS, Codecs preferred order, etc • SIP profile settings • WLAN Settings • NAT/Firewall Settings • Some settings that are not available UI (defaults)

  28. Case Studies • Using Nokia S60 VoIP Client • Nokia VoIP Client, Gizmo, Truphone • Stand-alone VoIP Client • fring™, WiFiMobile • UMA

  29. Nokia VoIP Client • Specifications • Nokia S60 Voice over IP (VoIP) fulfills the IETF, 3GPP, ITU, OMA, and other specifications. • http://sw.nokia.com/id/999d7086-9ba4-4114-b5b3-368d2700d603/Implementation_Specifications_for_Nokia_S60_VoIP_v1_1_en.zip • Truphone • Nokia S60 devices • Google Talk • www.truphone.com • Gizmo • Ship with Downloadcategory • www.gizmoprojecy.com

  30. Stand-alone VoIP client • fring™ uses your mobile internet connection to make peer-to-peer VoIP calls, send instant messages and talk with VoIP applications such as Skype, Google Talk , MSN Messenger and SIP at no extra cost. • WiFiMobile, oneFone application, use mobile phone as an extension to your company PBX • Forum Nokia Pro partners

  31. UMA • Nokia 6136, 6086 • Trials with operators • Finland, US • 3rd party development on dual mode handset is limited at the moment • Lot of activities on UMA stack and Network side.

  32. Thanks and Questions

  33. Resources on the Web • http://forum.nokia.com/ • http://developer.motorola.com/ • http://developer.samsungmobile.com/ • http://developer.sonyericsson.com • http://na.blackberry.com/eng/developers/ • http://www.access-company.com/developers/ • http://msdn.microsoft.com/windowsmobile/ • http://openmoko.com/ • http://www.developer.com/ws/ • http://brew.qualcomm.com/brew/en/developer/overview.html • TI: http://tinyurl.com/22o8eq • http://www.handango.com

More Related