summaryrefslogtreecommitdiffstats
path: root/voip/java
diff options
context:
space:
mode:
authorMagnus Strandberg <magnus.strandberg@sonyericsson.com>2011-03-22 08:03:58 +0100
committerSteve Kondik <shade@chemlab.org>2011-03-24 03:42:59 -0400
commit7726c0bb582c1efe10cc1fac2355526ca95e8638 (patch)
treeff1329e97d66fd77984bcb15bee71c6fdefd02d6 /voip/java
parent0ba5e1525bee41493bd048a51a5c4c030d8dc3f2 (diff)
downloadframeworks_base-7726c0bb582c1efe10cc1fac2355526ca95e8638.zip
frameworks_base-7726c0bb582c1efe10cc1fac2355526ca95e8638.tar.gz
frameworks_base-7726c0bb582c1efe10cc1fac2355526ca95e8638.tar.bz2
Making it possible to call SIP calls with special allowed chars.
Since String.replaceFirst uses regex and since SIP user names are allowed to include regex charaters such as '+', the code must fist convert the string to a literal pattern String before using replaceFirst method. Change-Id: I25eac852bd620724ca1c5b2befc023af9dae3c1a
Diffstat (limited to 'voip/java')
-rw-r--r--voip/java/com/android/server/sip/SipHelper.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/voip/java/com/android/server/sip/SipHelper.java b/voip/java/com/android/server/sip/SipHelper.java
index 406a721..d30fdea 100644
--- a/voip/java/com/android/server/sip/SipHelper.java
+++ b/voip/java/com/android/server/sip/SipHelper.java
@@ -27,6 +27,8 @@ import java.text.ParseException;
import java.util.ArrayList;
import java.util.EventObject;
import java.util.List;
+import java.util.regex.Pattern;
+
import javax.sip.ClientTransaction;
import javax.sip.Dialog;
import javax.sip.DialogTerminatedEvent;
@@ -222,9 +224,11 @@ class SipHelper {
String tag) throws ParseException, SipException {
FromHeader fromHeader = createFromHeader(userProfile, tag);
ToHeader toHeader = createToHeader(userProfile);
+
+ String replaceStr = Pattern.quote(userProfile.getUserName() + "@");
SipURI requestURI = mAddressFactory.createSipURI(
- userProfile.getUriString().replaceFirst(
- userProfile.getUserName() + "@", ""));
+ userProfile.getUriString().replaceFirst(replaceStr, ""));
+
List<ViaHeader> viaHeaders = createViaHeaders();
CallIdHeader callIdHeader = createCallIdHeader();
CSeqHeader cSeqHeader = createCSeqHeader(requestType);