Skip to content

Commit 651859c

Browse files
authored
Parse the target uri and contact uri as soon they are provided in the settings. (#513)
- The lib was juggling between string or URI? and assuming URI the majority of the time
1 parent 1622e27 commit 651859c

File tree

4 files changed

+12
-10
lines changed

4 files changed

+12
-10
lines changed

lib/src/config.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ class Settings {
1818

1919
// SIP account.
2020
String? display_name;
21-
dynamic uri;
22-
dynamic contact_uri;
21+
URI? uri;
22+
URI? contact_uri;
2323
String user_agent = DartSIP_C.USER_AGENT;
2424

2525
// SIP instance id (GRUU).

lib/src/rtc_session/refer_subscriber.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class ReferSubscriber extends EventManager {
4545

4646
// Referred-By header field.
4747
String referredBy =
48-
'Referred-By: <${_session.ua.configuration.uri.scheme}:${_session.ua.configuration.uri.user}@${_session.ua.configuration.uri.host}>';
48+
'Referred-By: <${_session.ua.configuration.uri!.scheme}:${_session.ua.configuration.uri!.user}@${_session.ua.configuration.uri!.host}>';
4949

5050
extraHeaders.add(referredBy);
5151
extraHeaders.add('Contact: ${_session.contact}');

lib/src/sip_ua_helper.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ class SIPUAHelper extends EventManager {
161161
}
162162

163163
_settings.transportType = uaSettings.transportType!;
164-
_settings.uri = uaSettings.uri;
164+
_settings.uri = uaSettings.uri != null ? URI.parse(uaSettings.uri!) : null;
165165
_settings.sip_message_delay = uaSettings.sip_message_delay;
166166
_settings.realm = uaSettings.realm;
167167
_settings.password = uaSettings.password;
@@ -181,7 +181,9 @@ class SIPUAHelper extends EventManager {
181181
uaSettings.sessionTimersRefreshMethod;
182182
_settings.instance_id = uaSettings.instanceId;
183183
_settings.registrar_server = uaSettings.registrarServer;
184-
_settings.contact_uri = uaSettings.contact_uri;
184+
_settings.contact_uri = uaSettings.contact_uri != null
185+
? URI.parse(uaSettings.contact_uri!)
186+
: null;
185187
_settings.connection_recovery_max_interval =
186188
uaSettings.connectionRecoveryMaxInterval;
187189
_settings.connection_recovery_min_interval =

lib/src/ua.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ class UA extends EventManager {
595595
DartSIP_C.SipMethod? method = request.method;
596596

597597
// Check that request URI points to us.
598-
if (request.ruri!.user != _configuration.uri.user &&
598+
if (request.ruri!.user != _configuration.uri!.user &&
599599
request.ruri!.user != _contact!.uri!.user) {
600600
logger.d('Request-URI does not point to us');
601601
if (request.method != SipMethod.ACK) {
@@ -830,7 +830,7 @@ class UA extends EventManager {
830830
_configuration.jssip_id = Utils.createRandomToken(5);
831831

832832
// String containing _configuration.uri without scheme and user.
833-
URI hostport_params = _configuration.uri.clone();
833+
URI hostport_params = _configuration.uri!.clone();
834834

835835
_configuration.terminateOnAudioMediaPortZero =
836836
configuration.terminateOnAudioMediaPortZero;
@@ -865,12 +865,12 @@ class UA extends EventManager {
865865

866866
// Check whether authorization_user is explicitly defined.
867867
// Take '_configuration.uri.user' value if not.
868-
_configuration.authorization_user ??= _configuration.uri.user;
868+
_configuration.authorization_user ??= _configuration.uri!.user;
869869

870870
// If no 'registrar_server' is set use the 'uri' value without user portion and
871871
// without URI params/headers.
872872
if (_configuration.registrar_server == null) {
873-
URI registrar_server = _configuration.uri.clone();
873+
URI registrar_server = _configuration.uri!.clone();
874874
registrar_server.user = null;
875875
registrar_server.clearParams();
876876
registrar_server.clearHeaders();
@@ -890,7 +890,7 @@ class UA extends EventManager {
890890

891891
// Via Host.
892892
if (_configuration.contact_uri != null) {
893-
_configuration.via_host = _configuration.contact_uri.host;
893+
_configuration.via_host = _configuration.contact_uri!.host;
894894
}
895895
// Contact URI.
896896
else {

0 commit comments

Comments
 (0)