[Sipdroid] research on sipdroid open source software

Source: Internet
Author: User
Tags svn client dtmf tones

Http://www.cnblogs.com/lovers/articles/2624693.html

1. Development Environment Configuration

After downloading the sipdroid source code, it cannot be directly imported into eclipse. Otherwise, it cannot be used or compiled.

First, update the project by referring to the built.txt file under the project directory using command line.

For example, Android update project-P.-T 2 (here-P refers to -- path-T refers to -- target)

Because it is an open-source software and requires version control, you can install subclipse (see the official website)

In this way, you can import the project to eclipse.

2. Below are some materials I recently collected for developing Android Video Communication Technology:

Currently, the following software is available on Android mobile phones that support video passing and has been implemented:

Sipdroid, Qik, Fring for Android.

(Skype recently revealed that it will also develop video call software on Android:

Http://www.opda.cn/2010/05/30/skype-mobile-coming-to-android-this-year-possibly-with-video-calling)

Below are some web links (some include video calls)

Qik: http://www.pin5i.com/showtopic-android-use-qik-for-video-chat.html

Fring for Android:

Http://bbs.goapk.com/viewthread.php? Tid = 8887 & extra = Page % 253d1% 2526amp % 3 borderby % 253 ddateline % 2526amp % 3 bfilter % 253d2592000

Http://v.youku.com/v_show/id_XMTc2OTgxMTA4.html

Sipdroid: (video calls of sipdroid already implemented in foreign countries)

Http://v.youku.com/v_show/id_XMTc3MTIzNjY0.html

Among the above three software, sipdroid is an open-source software project. Fring for Android is free but not open-source Qik is charged.

In terms of call quality, sipdroid is better than Fring for Android.

The following is a brief introduction to the most promising sipdroid:

Sipdroid is an open-source Sip/VoIP client software developed for Android mobile phones.

It provides the telephone communication service through the SIP provider, and also provides the video communication service in its latest version 1.5.5beta.

It runs on the standard SIP protocol. Because the android kernel itself does not provide the SIP protocol stack, the sipdroid software directly implements the SIP protocol stack through JNI.

It can provide VoIP services in the following networks: WLAN, 3G, and EDGE networks. It can even communicate with users like Skype, Google Talk, MSN, Yahoo, aim, and ICQ. However, you must register an account with some sip providers (free and charged). sipdroid strongly recommends using the SIP provider pbxes to get the service.

The main features of video calls are as follows:

What types of video CILS are supported?

There are three levels of operation for video CILS.

Sending

By pressing the menu button and choosing "Send video" you can start video transmission to a SIP Phone with video.

Processing ing

This is not supported natively. If you are registered to pbxes and the other party starts sending video it will show up on the Android phone.

Streaming

When you start sending video as described abve while you are in a call to a regular phone, and you have a pbxes premium account, the other party can open your webcall URL, click on your photo and see your video.

Streaming can also be used if you call somebody on his Android phone who is not registered to pbxes. Then he can still open your webcall URL from his mobile browser and see you.

Sipdroid only supports the following features and functions:

· Change number format (e.g. Convert the + codes)

· Music on hold

· Support of several modes for DTMF tones

· Support for NAT (Network Address Translation)

· Simultaneous outbound calling

· Screening anonymous callers

· Time-based routing for incoming cballs

· Attended call transfer

· Conferences

· Video transition tion (video transmission is supported by sipdroid natively)

· Trigger callback or callthru (if no suitable data network available)

· Callto Skype users

For details about the sipdroid open source software, refer to the official website:

Http://code.google.com/p/sipdroid/ (which may require Wall-over access)

For the principle of implementing video calls using sipdroid, my current understanding is:

The sender transmits the video data to the video streaming media server and then transmits the data to the receiver. The details are not very clear at present, because many communication protocols are involved.

The source code of sipdroid can be downloaded from the official website: It looks like a few MB.

The development environment requires eclipse and subclipse (SVN client) plug-ins.

Subclipse Official Website: http://subclipse.tigris.org/servlets/ProjectProcess? Pageid = p4wyua

Below are some reference links:

SIP: http://baike.baidu.com/view/51013.htm

Pbxes: http://baike.baidu.com/view/2380496.htm

Pbxes Official Website: https://www1.pbxes.com/index_e.php (need to overturn the wall)

Edge: http://baike.baidu.com/view/84625.htm? Fr = ala0_1

3. Source Code Analysis of sipdroid org. sipdroid. sipua. Phone

The core function of this package is to provide voice calls, including incoming call display and call history records,

Buttongridlayout. Java

This class is mainly used to set the display format, which inherits from the parent class: viewgroup.

Call. Java

This class provides information about the phone call status. It interacts with the connection class because the connection Class determines the status of the current call.

Callcard. Java

This class was initially thought to be a card-related class. In fact, it is essentially a class that provides the UI element. It will display different interface changes from the beginning to the end of the call. Is a very huge class, which provides a lot of debugging functions. After reading it, I will have a further understanding of how to debug the android program.

Callinfo. Java

This class is used to find the information of the dial-up person for a given phone number. Therefore, this class will interact with the database in the contacts background.

Connection. Java

This class provides information about the call connection, and records the history of each connection.

Phone. Java

This is an interface class that provides mobile phone status information.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.