diff options
author | Magnus Strandberg <magnus.strandberg@sonyericsson.com> | 2011-03-22 08:03:58 +0100 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2011-03-24 03:42:59 -0400 |
commit | 7726c0bb582c1efe10cc1fac2355526ca95e8638 (patch) | |
tree | ff1329e97d66fd77984bcb15bee71c6fdefd02d6 /voip/java | |
parent | 0ba5e1525bee41493bd048a51a5c4c030d8dc3f2 (diff) | |
download | frameworks_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.java | 8 |
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); |