Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f3e197f2 authored by Brad Ebinger's avatar Brad Ebinger Committed by Automerger Merge Worker
Browse files

Merge "Use a typesafe pattern for SIP Delegate configurations" am: 0305ec61

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1682947

Change-Id: Ie89013241cd95ee84f8a9a75b4486b02964cabc9
parents ee5ce738 0305ec61
Loading
Loading
Loading
Loading
+133 −61
Original line number Diff line number Diff line
@@ -11153,10 +11153,11 @@ package android.telephony.ims {
  }
  public interface DelegateStateCallback {
    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
    method public void onCreated(@NonNull android.telephony.ims.stub.SipDelegate, @Nullable java.util.Set<android.telephony.ims.FeatureTagState>);
    method public void onDestroyed(int);
    method public void onFeatureTagRegistrationChanged(@NonNull android.telephony.ims.DelegateRegistrationState);
    method public void onImsConfigurationChanged(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
    method @Deprecated public void onImsConfigurationChanged(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
  }
  public final class FeatureTagState implements android.os.Parcelable {
@@ -11895,6 +11896,76 @@ package android.telephony.ims {
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtensionType> CREATOR;
  }
  public final class SipDelegateConfiguration implements android.os.Parcelable {
    method public int describeContents();
    method @Nullable public String getHomeDomain();
    method @Nullable public String getImei();
    method @Nullable public android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration getIpSecConfiguration();
    method @NonNull public java.net.InetSocketAddress getLocalAddress();
    method public int getMaxUdpPayloadSizeBytes();
    method @Nullable public java.net.InetSocketAddress getNatSocketAddress();
    method @Nullable public String getPrivateUserIdentifier();
    method @Nullable public android.net.Uri getPublicGruuUri();
    method @Nullable public String getPublicUserIdentifier();
    method @Nullable public String getSipAssociatedUriHeader();
    method @Nullable public String getSipAuthenticationHeader();
    method @Nullable public String getSipAuthenticationNonce();
    method @Nullable public String getSipCniHeader();
    method @Nullable public String getSipContactUserParameter();
    method @Nullable public String getSipPaniHeader();
    method @Nullable public String getSipPathHeader();
    method @Nullable public String getSipPlaniHeader();
    method @NonNull public java.net.InetSocketAddress getSipServerAddress();
    method @Nullable public String getSipServiceRouteHeader();
    method @Nullable public String getSipUserAgentHeader();
    method public int getTransportType();
    method @IntRange(from=0) public long getVersion();
    method public boolean isSipCompactFormEnabled();
    method public boolean isSipKeepaliveEnabled();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateConfiguration> CREATOR;
    field public static final int SIP_TRANSPORT_TCP = 1; // 0x1
    field public static final int SIP_TRANSPORT_UDP = 0; // 0x0
    field public static final int UDP_PAYLOAD_SIZE_UNDEFINED = -1; // 0xffffffff
  }
  public static final class SipDelegateConfiguration.Builder {
    ctor public SipDelegateConfiguration.Builder(@IntRange(from=0) long, int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
    ctor public SipDelegateConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateConfiguration);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration build();
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setHomeDomain(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setImei(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setIpSecConfiguration(@Nullable android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setMaxUdpPayloadSizeBytes(@IntRange(from=1) int);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setNatSocketAddress(@Nullable java.net.InetSocketAddress);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPrivateUserIdentifier(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicGruuUri(@Nullable android.net.Uri);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicUserIdentifier(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAssociatedUriHeader(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationHeader(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationNonce(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCniHeader(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCompactFormEnabled(boolean);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipContactUserParameter(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipKeepaliveEnabled(boolean);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPaniHeader(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPathHeader(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPlaniHeader(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipServiceRouteHeader(@Nullable String);
    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipUserAgentHeader(@Nullable String);
  }
  public static final class SipDelegateConfiguration.IpSecConfiguration {
    ctor public SipDelegateConfiguration.IpSecConfiguration(int, int, int, int, int, int, @NonNull String);
    method public int getLastLocalTxPort();
    method public int getLastRemoteTxPort();
    method public int getLocalRxPort();
    method public int getLocalTxPort();
    method public int getRemoteRxPort();
    method public int getRemoteTxPort();
    method @NonNull public String getSipSecurityVerifyHeader();
  }
  public interface SipDelegateConnection {
    method public default void cleanupSession(@NonNull String);
    method @Deprecated public default void closeDialog(@NonNull String);
@@ -11903,65 +11974,65 @@ package android.telephony.ims {
    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
  }
  public final class SipDelegateImsConfiguration implements android.os.Parcelable {
    method public boolean containsKey(@NonNull String);
    method @NonNull public android.os.PersistableBundle copyBundle();
    method public int describeContents();
    method public boolean getBoolean(@NonNull String, boolean);
    method public int getInt(@NonNull String, int);
    method @Nullable public String getString(@NonNull String);
    method public long getVersion();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateImsConfiguration> CREATOR;
    field public static final String IPTYPE_IPV4 = "IPV4";
    field public static final String IPTYPE_IPV6 = "IPV6";
    field public static final String KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING = "sip_config_auhentication_header_string";
    field public static final String KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING = "sip_config_authentication_nonce_string";
    field public static final String KEY_SIP_CONFIG_CELLULAR_NETWORK_INFO_HEADER_STRING = "sip_config_cellular_network_info_header_string";
    field public static final String KEY_SIP_CONFIG_HOME_DOMAIN_STRING = "sip_config_home_domain_string";
    field public static final String KEY_SIP_CONFIG_IMEI_STRING = "sip_config_imei_string";
    field public static final String KEY_SIP_CONFIG_IPTYPE_STRING = "sip_config_iptype_string";
    field public static final String KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL = "sip_config_is_compact_form_enabled_bool";
    field public static final String KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL = "sip_config_is_gruu_enabled_bool";
    field public static final String KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL = "sip_config_is_ipsec_enabled_bool";
    field public static final String KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL = "sip_config_is_keepalive_enabled_bool";
    field public static final String KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL = "sip_config_is_nat_enabled_bool";
    field public static final String KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT = "sip_config_udp_max_payload_size_int";
    field public static final String KEY_SIP_CONFIG_PATH_HEADER_STRING = "sip_config_path_header_string";
    field public static final String KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING = "sip_config_p_access_network_info_header_string";
    field public static final String KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING = "sip_config_p_associated_uri_header_string";
    field public static final String KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING = "sip_config_p_last_access_network_info_header_string";
    field public static final String KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING = "sip_config_security_verify_header_string";
    field public static final String KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING = "sip_config_server_default_ipaddress_string";
    field public static final String KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT = "sip_config_server_default_port_int";
    field public static final String KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT = "sip_config_server_ipsec_client_port_int";
    field public static final String KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT = "sip_config_server_ipsec_old_client_port_int";
    field public static final String KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT = "sip_config_server_ipsec_server_port_int";
    field public static final String KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING = "sip_config_service_route_header_string";
    field public static final String KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING = "sip_config_protocol_type_string";
    field public static final String KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING = "sip_config_ue_default_ipaddress_string";
    field public static final String KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT = "sip_config_ue_default_port_int";
    field public static final String KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT = "sip_config_ue_ipsec_client_port_int";
    field public static final String KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT = "sip_config_ue_ipsec_old_client_port_int";
    field public static final String KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT = "sip_config_ue_ipsec_server_port_int";
    field public static final String KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING = "sip_config_ue_private_user_id_string";
    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING = "sip_config_ue_public_gruu_string";
    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING = "sip_config_ue_public_ipaddress_with_nat_string";
    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT = "sip_config_ue_public_port_with_nat_int";
    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING = "sip_config_ue_public_user_id_string";
    field public static final String KEY_SIP_CONFIG_URI_USER_PART_STRING = "sip_config_uri_user_part_string";
    field public static final String KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING = "sip_config_sip_user_agent_header_string";
    field public static final String SIP_TRANSPORT_TCP = "TCP";
    field public static final String SIP_TRANSPORT_UDP = "UDP";
  }
  public static final class SipDelegateImsConfiguration.Builder {
    ctor public SipDelegateImsConfiguration.Builder(int);
    ctor public SipDelegateImsConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addBoolean(@NonNull String, boolean);
    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addInt(@NonNull String, int);
    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addString(@NonNull String, @NonNull String);
    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration build();
  @Deprecated public final class SipDelegateImsConfiguration implements android.os.Parcelable {
    method @Deprecated public boolean containsKey(@NonNull String);
    method @Deprecated @NonNull public android.os.PersistableBundle copyBundle();
    method @Deprecated public int describeContents();
    method @Deprecated public boolean getBoolean(@NonNull String, boolean);
    method @Deprecated public int getInt(@NonNull String, int);
    method @Deprecated @Nullable public String getString(@NonNull String);
    method @Deprecated public long getVersion();
    method @Deprecated public void writeToParcel(@NonNull android.os.Parcel, int);
    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateImsConfiguration> CREATOR;
    field @Deprecated public static final String IPTYPE_IPV4 = "IPV4";
    field @Deprecated public static final String IPTYPE_IPV6 = "IPV6";
    field @Deprecated public static final String KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING = "sip_config_auhentication_header_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING = "sip_config_authentication_nonce_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_CELLULAR_NETWORK_INFO_HEADER_STRING = "sip_config_cellular_network_info_header_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_HOME_DOMAIN_STRING = "sip_config_home_domain_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_IMEI_STRING = "sip_config_imei_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_IPTYPE_STRING = "sip_config_iptype_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL = "sip_config_is_compact_form_enabled_bool";
    field @Deprecated public static final String KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL = "sip_config_is_gruu_enabled_bool";
    field @Deprecated public static final String KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL = "sip_config_is_ipsec_enabled_bool";
    field @Deprecated public static final String KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL = "sip_config_is_keepalive_enabled_bool";
    field @Deprecated public static final String KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL = "sip_config_is_nat_enabled_bool";
    field @Deprecated public static final String KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT = "sip_config_udp_max_payload_size_int";
    field @Deprecated public static final String KEY_SIP_CONFIG_PATH_HEADER_STRING = "sip_config_path_header_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING = "sip_config_p_access_network_info_header_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING = "sip_config_p_associated_uri_header_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING = "sip_config_p_last_access_network_info_header_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING = "sip_config_security_verify_header_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING = "sip_config_server_default_ipaddress_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT = "sip_config_server_default_port_int";
    field @Deprecated public static final String KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT = "sip_config_server_ipsec_client_port_int";
    field @Deprecated public static final String KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT = "sip_config_server_ipsec_old_client_port_int";
    field @Deprecated public static final String KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT = "sip_config_server_ipsec_server_port_int";
    field @Deprecated public static final String KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING = "sip_config_service_route_header_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING = "sip_config_protocol_type_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING = "sip_config_ue_default_ipaddress_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT = "sip_config_ue_default_port_int";
    field @Deprecated public static final String KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT = "sip_config_ue_ipsec_client_port_int";
    field @Deprecated public static final String KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT = "sip_config_ue_ipsec_old_client_port_int";
    field @Deprecated public static final String KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT = "sip_config_ue_ipsec_server_port_int";
    field @Deprecated public static final String KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING = "sip_config_ue_private_user_id_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING = "sip_config_ue_public_gruu_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING = "sip_config_ue_public_ipaddress_with_nat_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT = "sip_config_ue_public_port_with_nat_int";
    field @Deprecated public static final String KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING = "sip_config_ue_public_user_id_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_URI_USER_PART_STRING = "sip_config_uri_user_part_string";
    field @Deprecated public static final String KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING = "sip_config_sip_user_agent_header_string";
    field @Deprecated public static final String SIP_TRANSPORT_TCP = "TCP";
    field @Deprecated public static final String SIP_TRANSPORT_UDP = "UDP";
  }
  @Deprecated public static final class SipDelegateImsConfiguration.Builder {
    ctor @Deprecated public SipDelegateImsConfiguration.Builder(int);
    ctor @Deprecated public SipDelegateImsConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
    method @Deprecated @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addBoolean(@NonNull String, boolean);
    method @Deprecated @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addInt(@NonNull String, int);
    method @Deprecated @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addString(@NonNull String, @NonNull String);
    method @Deprecated @NonNull public android.telephony.ims.SipDelegateImsConfiguration build();
  }
  public class SipDelegateManager {
@@ -12131,10 +12202,11 @@ package android.telephony.ims.stub {
  }
  public interface DelegateConnectionStateCallback {
    method public default void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
    method public void onCreated(@NonNull android.telephony.ims.SipDelegateConnection);
    method public void onDestroyed(int);
    method public void onFeatureTagStatusChanged(@NonNull android.telephony.ims.DelegateRegistrationState, @NonNull java.util.Set<android.telephony.ims.FeatureTagState>);
    method public void onImsConfigurationChanged(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
    method @Deprecated public default void onImsConfigurationChanged(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
  }
  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
+20 −0
Original line number Diff line number Diff line
@@ -79,9 +79,29 @@ public interface DelegateStateCallback {
     * messages routing should be delayed until the {@link SipDelegate} sends the IMS configuration
     * change event to reduce conditions where the remote application is using a stale IMS
     * configuration.
     * @deprecated This is being removed from API surface, Use
     * {@link #onConfigurationChanged(SipDelegateConfiguration)} instead.
     */
    @Deprecated
    void onImsConfigurationChanged(@NonNull SipDelegateImsConfiguration config);

    /**
     * Call to notify the remote application of a configuration change associated with this
     * {@link SipDelegate}.
     * <p>
     * The remote application will not be able to proceed sending SIP messages until after this
     * configuration is sent the first time, so this configuration should be sent as soon as the
     * {@link SipDelegate} has access to these configuration parameters.
     * <p>
     * Incoming SIP messages should not be routed to the remote application until AFTER this
     * configuration change is sent to ensure that the remote application can respond correctly.
     * Similarly, if there is an event that triggers the IMS configuration to change, incoming SIP
     * messages routing should be delayed until the {@link SipDelegate} sends the IMS configuration
     * change event to reduce conditions where the remote application is using a stale IMS
     * configuration.
     */
    void onConfigurationChanged(@NonNull SipDelegateConfiguration config);

    /**
     * Call to notify the remote application that the {@link SipDelegate} has modified the IMS
     * registration state of the RCS feature tags that were requested as part of the initial
+19 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2021 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.telephony.ims;

parcelable SipDelegateConfiguration;
+932 −0

File added.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ public interface SipDelegateConnection {
     * sending the message.
     * @param sipMessage The SipMessage to be sent.
     * @param configVersion The SipDelegateImsConfiguration version used to construct the
     *                      SipMessage. See {@link SipDelegateImsConfiguration#getVersion} for more
     *                      SipMessage. See {@link SipDelegateConfiguration#getVersion} for more
     */
    void sendMessage(@NonNull SipMessage sipMessage, long configVersion);

Loading