and fix how SipErrorCode.SERVER_ERROR is determinted from server response, not
from local exceptions.
http://b/issue?id=3041332
Change-Id: Idce67e29858d5c7573b98b7fa1fac074913d71d6
Merge commit '245475925eff61ee76bde58de69253a889e39d0a' into gingerbread-plus-aosp
* commit '245475925eff61ee76bde58de69253a889e39d0a':
Fix the startAudio order for 3-way calls.
Merge commit '3234652242f54e3366e7c74e5a0cf0a7da5871b4' into gingerbread-plus-aosp
* commit '3234652242f54e3366e7c74e5a0cf0a7da5871b4':
Don't enter DISCONNECTING state when the call/connection is not alive
+ check REQUEST_TERMINATED response on INVITE not CANCEL,
+ check if a TransactionTerminatedEvent matches the ongoing transaction,
+ add log to track SipConnection disconnect events.
Change-Id: I28325be62ac44e4a7507d3c4b5b78b066c0ea2ad
and add new CROSS_DOMAIN_AUTHENTICATION error code and OUT_OF_NETWORK
DisconnectCause.
http://b/issue?id=3020185
Change-Id: Icc0a341599d5a72b7cb2d43675fbddc516544978
Merge commit 'bd2294204e3edaede3fe81eb9b11c05c4fafe627' into gingerbread-plus-aosp
* commit 'bd2294204e3edaede3fe81eb9b11c05c4fafe627':
Fix the unhold issue especially if one is behind NAT.
Merge commit '194bbcce9ba15634500f542b9ea017b2cf154b45' into gingerbread-plus-aosp
* commit '194bbcce9ba15634500f542b9ea017b2cf154b45':
SIP: longer timeout for making call, shorter for cancelling
Merge commit '84a357bb6a8005e1c5e924e96a8ecf310e77c47c' into gingerbread-plus-aosp
* commit '84a357bb6a8005e1c5e924e96a8ecf310e77c47c':
Refactoring SIP classes to get ready for API review.
+ replace SipAudioCall and its Listener interfaces with real implementations,
+ remove SipAudioCallImpl.java, most of it is has become part of SipAudioCall,
+ add SipSession and its Listener classes to wrap ISipSession and ISipSessionListener,
+ move SipSessionState to SipSession.State,
+ make SipManager keep context and remove the context argument from many methods of its,
+ rename SipManager.getInstance() to newInstance(),
+ rename constant names for action strings and extra keys to follow conventions,
+ set thread names for debugging purpose.
Change-Id: Ie1790dc0e8f49c06c7fc80d33fec0f673a9c3044
+fix the unknown call flash for answering an incoming call and
updating the screen if the background call got dropped.
+change the getFirstActiveBgCall to return the call if the state
is not IDLE. This will help to fix unknown flash if the background
call got dropped.
Change-Id: I9803ccebd919acbd5296e7dfde7dc5f29cc9f180
Merge commit 'ee2ef3220fd27a6332acb2f65951a7fe91e9dfa6' into gingerbread-plus-aosp
* commit 'ee2ef3220fd27a6332acb2f65951a7fe91e9dfa6':
Use PhoneBase in the phone list.
also fix delivering bad news before closing a SipAudioCallImpl object so that
apps can get the current audio-call object state before it's closed:
http://b/issue?id=3009262
Change-Id: I94c19dae8b4f252de869e614ec462b19b4ff2077
Merge commit '97963794af1e18674dd111e3ad344d90b16c922c' into gingerbread-plus-aosp
* commit '97963794af1e18674dd111e3ad344d90b16c922c':
SIP: convert enum to static final int.
For bug 3001613.
Only use PhoneBase (not PhoneProxy) in CallManager.
Both PhoneBase and PhoneProxy implement Phone interface,
such as dial(). The real implementation, for
example in GSM, is in GSMPhone extending from PhoneBase.
So that foregroundCall.getPhone() returns GSMPhone obj. On the other hand,
PhoneFactory.getDefaultPhone() returns PhoneProxy obj, which has a class
member of GSMPhone.
Therefore for phone returned by PhoneFacotry, which is used by PhoneApp,
phone.getForegroundCall().getPhone() != phone
Change-Id: I8a304098dd86762aaee56fb3c8b76c883e8c9a4f
Merge commit '1d1583573d2099756bbbeef48d97c280edc393e0' into gingerbread-plus-aosp
* commit '1d1583573d2099756bbbeef48d97c280edc393e0':
SipPhone: do not append SIP domain to PSTN number
+ add timer parameter to ISipSession.make/changeCall(),
+ add timer paramter to SipAudioCall.make/answer/hold/continueCall()'s,
+ add timer parameter to SipManager.makeAudioCall(),
+ modify implementation in SipSessionGroup, SipAudioCallImpl accordingly,
+ make SipPhone to use it with 8-second timeout.
http://b/issue?id=2994748
Change-Id: I661a887e5810087ddc5e2318335e2fa427f80ec6
Merge commit 'd8f3d167353f6c6f6c5cb7a4c8e941c03b8e9511' into gingerbread-plus-aosp
* commit 'd8f3d167353f6c6f6c5cb7a4c8e941c03b8e9511':
Add a new phone state ANSWERING.
The state ANSWERING is set when we answer an incoming sip call, i.e.
sending a 'OK' response to the peer. The state will be set to ACTIVE
once the 'ACK' from peer is received.
Change-Id: I84ee3cc68222eb34e032896ce23f7431d4ad774a
Merge commit '968735e580b7728c6a17aff9b7356f9d74dc6eb3' into gingerbread-plus-aosp
* commit '968735e580b7728c6a17aff9b7356f9d74dc6eb3':
Fixing the NPE in SipPhone
1. Originally CallManager registers for all phone events provided by registerFor interface,
which will cause error msg such as "registerForXXX() in PhoneBase should not be called, CDMAPhone inactive."
for CDMA only events. Register for those events only if phone is CDMA phone.
2. Add registerForPostDialCharacter().
Note, we can't use notifyRegistrants() in handler since we need send
the character that is being processed in msg.arg1.
Change-Id: I48037c8a8e225bb82e203836a041f81f2445f4d8