◎위챗 : speedseoul
https://code.google.com/p/sipdroid/wiki/FAQ#What_build_environment_is_needed_for_Sipdroid?
SIPdroid_English_Manual.pdf
SIPdroid_English_Manual.pdf
Copyright (C) 2009 The Sipdroid Open Source Project. The following article is part of Sipdroid. Sipdroid is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. |
Sipdroid allows you to choose where you will use VoIP, on WLANs only, on 3G, or EDGE networks. If you are going to use VoIP services outside private wireless networks, it's your responsibility to check the contractual terms with the mobile operator:
Often mobile phone operators forbid using VoIP in the contract's fine print. The European Union is already looking at whether blocks on VoIP service by Europe's mobile phone operators might breach competition laws.
The following plans are suitable for unlimited hotspot/3G usage:
Add more!
This project publishes Sipdroid for free under the terms of GNU General Public License v3. The first public version is beta for software testing. So please allow for some issues and incompatibilities at the beginning.
When using pbxes.org the expected stand-by times are the same as without Sipdroid running in the background (we observed about three days of stand-by time). See article for background.
Sipdroid uses G.711 A-law to transmit voice which needs about 80 kBit/s in each direction. This corresponds to a total of 1.2 MB per minute.
A video call needs approximately twice as much.
Over EDGE or when optionally enabled for all calls Sipdroid uses GSM codec to compress to about 30 kBit/s in each direction resulting in a total of 0.5 MB per minute.
To install Sipdroid you need version 1.5 "Cupcake" of Android.
See http://android-developers.blogspot.com/2009/04/android-15-is-here.html for details on updating the OS on developer phones.
The update for the other phones comes over the air, starting May 1st, 2009.
If you are interested in developing and contributing to the project please install Eclipse and Subclipse for building the source code.
After the sources are done downloading, you see the following in "Package Explorer" in Eclipse.
> SipUA 326 Trunk: trunk
Right click on SipUA and select Properties in the drop down menu (last option). Click on Android (assumes the Android SDK is installed and configured in Eclipse). In the "Project Build Target" select "Android 1.6" (Target Name).
In settings you can specify your preferred call type. This is used when clicking a "Call" tab of a contact. When clicking on the "Text" tab of a contact you get a menu like this:
"Messaging" lets you proceed with sending SMS/MMS. The other two let you override your call type manually.
When entering a phone number in the dialer add a "+" sign to toggle call type. If your preferred call type is Sipdroid adding a + behind the number calls over Phone.
NOTE: Don't add anything to emergency numbers. They are always dialed over Phone.
When clicking on the "Chat" tab of a contact you get a menu like this:
Choosing Sipdroid makes a voice call to a PC over instant messaging.
Calling Skype users requires registering to PBXes. The callee needs to allow anonymous calls.
This also works for Google Talk, MSN, Yahoo, AIM, and ICQ users. All these recipients have to do is either invite user service@gtalk2voip.com (gtalk2voip@yahoo.com for Yahoo! Messenger) to his friend list, or submit his user id from gtalk2voip main page, to become reachable from Sipdroid.
If you want to call any other SIP URI add it to a contact as one of the two unsupported messengers, Jabber or QQ, and use above method to dial the SIP URI from contacts.
Note: PBXes only supports calling alphanumeric SIP URIs e.g. abc##@domain.tld. Calling URIs starting by a digit will result in a routing based on outbound dial rules.
You can enter SIP URIs into the "Called Party Address" field in Sipdroid. For calling Skype users enter the Skype name followed by @skype into "Called Party Address". Calling Skype users requires registering to PBXes.
Note: PBXes only supports calling alphanumeric SIP URIs e.g. abc##@domain.tld. Calling URIs starting by a digit will result in a routing based on outbound dial rules.
Android reserves the red key for turning screen off and the green call button for answering a phone call. That's why they don't always work for Sipdroid, e.g. when screen is turned on the red key will first switch screen off, and then end call on another press. The green button will not work for Sipdroid if there is a phone call ringing at the same time. In this case the green button will answer the GSM call.
That's why Sipdroid offers a sliding card. A call is off-hook if the card is at the top of the screen, and it is on-hook at the bottom. Just slide up to answer. Slide down to end call. If you want to reject an incoming call press the MENU button to select end call.
The prefix option has been replaced by a more generic and flexible search & replace feature. The "search & replace" option, available inAdvanced Options, has the following form: <search>,<replace>
<search> is a Java regular expression with one or more groups which can be then use in <replace>
<replace> is a string with reference to group(s) from the <search> field.
If the regular expression is not valid or the format is wrong, the original number is used.
Examples:
Search & Replace | Description |
\+*1*(.*),1\1 | fix for the common issue of contacts with or without 1 and +1 |
\+41(.*),0041\1 | replace +41791111111 with 0041791111111 |
(.*),123\1 | add 123 in front of the number (prefix) |
(.*),\1123 | add 123 at the end of the number (postfix) |
Choose Advanced Options and enter your pattern in the exclude pattern field. Numbers can be exluded by type and/or number.
Format is pattern,pattern,pattern...
To exclude by phone type you can enter single or combination of the three supported types:
e.g. h,m,w or ho,mo,wo or home,mobile,work (excludes all home, mobile and work numbers)
To exclude by numbers enter any java regular expression:
e.g. \A\+01 (excludes all numbers starting with +01).
To exclude by both phone type and number:
e.g. m,1234 (exludes all mobile and numbers that contain 1234).
Suppose you are outside your wireless LAN, or got a mobile Internet connection, but not good enough for a SIP call. Normally the dialer would fall back to Phone in this case.
Exclude pattern and search & replace get applied in the same way as for SIP calls.
There are three levels of operation for video calls.
By pressing the MENU button and choosing "Send Video" you can start video transmission to a SIP phone with video.
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.
When you start sending video as described above 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 runs standard SIP. For full interoperability register Sipdroid to pbxes.org. From there register your SIP accounts.
Possible issues when registering directly to other SIP servers are:
As you can see there is not just one issue. When Nokia released its SIP client in 2006 PBXes were the first to support it. It's a bunch of adjustments to account for phones that are not plugged into a single network, are battery powered and Java based. So unless you are a developer we don't recommend spending much time in getting your plain-vanilla Asterisk box suited for Sipdroid. Instead register your Asterisk to PBXes, too.
For the future it is expected that SIP providers will become more interoperable (see also article). As Sipdroid is a true open source project attracting many software developers, the application and its documentation will be updated as more information gets available.
Sipdroid presently supports basic call. All the typical PBX features are configured from the PC. This concept is much like the concept of Google's services that allow you e.g. to manage your calendar on the PC and access it remotely on your phone. The following features are provided by the Free Account on pbxes.org:
You get even more features on the paid accounts (e.g. Video Streaming, Announce Location, Call Recording, Improved Audio, Handoff of calls between networks).
Please have a look at the HELP section. Under "Getting started" you find an introduction to the necessary steps.
It's all web based. No installation required.
First you create extension(s) and trunk(s). Perform an echo test by dialing *43. Then you add at least one inbound and one outbound route. Leave the trunk name empty on your inbound route. The Android specific details can be found under "Mobile Extensions".
The username to be entered in Sipdroid consists of account name, a dash ('-') and the extension number, e.g. "myuser-200". The password is that of the extension, not the password of your PBXes account.
This tool is recommended to save battery. It uses the camera to adjust screen brightness.
See above
Sipdroid can be used to add true VoIP calling to the GV app. Both integrate amazingly well. Further info is available at Iordans's blog.
We noticed that choppy voice on WLANs can be resolved by turning off permanent location updates. Alternatives are uploading position to PBXes and announcing it to contacts when they call you, and "Snowstorm weather widget" that allows you to set location manually.
This is very nice to account your bandwidth usage on mobile networks. However, when you use WLANs only you should not install the present version. It wakes the device too often thus draining the battery.
One limitation has been noticed on Android developer phones (ADP1). Due to limited memory home screen often takes several seconds to load. Luckily these phones allow root access. Issue the command "echo ro.HOME_APP_ADJ=1 >/data/local.prop" and reboot, to lock home screen in memory.