Fix issue where multiple anonymous participants don't show up correctly.

On Vzw when there are multiple anonymous participants, the SIP uris
returned in the CEP are different from what was expected ; eg:
sip:anonymous1@anonymous.invalid;legid=1
sip:anonymous2@anonymous.invalid;legid=2

The CEP parsing code did not handle the ; and extra parameter.
Per RFC3261, when we parse this string:
anonymous1@anonymous.invalid;legid=1
We first separate out and ; parameters (which are guaranteed to be at
the end of the address.

Bug: 30434469
Change-Id: I2f7224f434a0b01f54d6815276a8bb365bd53ac1
diff --git a/src/com/android/services/telephony/ConferenceParticipantConnection.java b/src/com/android/services/telephony/ConferenceParticipantConnection.java
index 3b8d89a..ed7ad44 100644
--- a/src/com/android/services/telephony/ConferenceParticipantConnection.java
+++ b/src/com/android/services/telephony/ConferenceParticipantConnection.java
@@ -178,8 +178,19 @@
         if (TextUtils.isEmpty(number)) {
             return PhoneConstants.PRESENTATION_RESTRICTED;
         }
+        // Per RFC3261, the host name portion can also potentially include extra information:
+        // E.g. sip:anonymous1@anonymous.invalid;legid=1
+        // In this case, hostName will be anonymous.invalid and there is an extra parameter for
+        // legid=1.
+        // Parameters are optional, and the address (e.g. test@test.com) will always be the first
+        // part, with any parameters coming afterwards.
+        String hostParts[] = number.split("[;]");
+        String addressPart = hostParts[0];
 
-        String numberParts[] = number.split("[@]");
+        // Get the number portion from the address part.
+        // This will typically be formatted similar to: 6505551212@test.com
+        String numberParts[] = addressPart.split("[@]");
+
         // If we can't parse the host name out of the URI, then there is probably other data
         // present, and is likely a valid SIP URI.
         if (numberParts.length != 2) {