Skip to content

Commit 73e205d

Browse files
feat: Adding extraHeaders in RegisterParams, exposing existing functionality via UaSettings() (#432)
1 parent 024d0e8 commit 73e205d

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

lib/src/config.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ class Settings {
3939
bool? register = true;
4040
int? register_expires = 600;
4141
dynamic registrar_server;
42+
List<String>? register_extra_headers;
4243
Map<String, dynamic>? register_extra_contact_uri_params;
4344

4445
// Dtmf mode
@@ -237,6 +238,11 @@ class Checks {
237238
dst!.registrar_server = parsed;
238239
}
239240
},
241+
'register_extra_headers': (src, dst) {
242+
var register_extra_headers = src?.register_extra_headers;
243+
if (register_extra_headers == null) return;
244+
dst?.register_extra_headers = register_extra_headers;
245+
},
240246
'register_extra_contact_uri_params': (Settings src, Settings? dst) {
241247
Map<String, dynamic>? register_extra_contact_uri_params =
242248
src.register_extra_contact_uri_params;

lib/src/registrator.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class Registrator {
5454
_contact += ';+sip.ice';
5555

5656
// Custom headers for REGISTER and un-REGISTER.
57-
_extraHeaders = <String>[];
57+
_extraHeaders = ua.configuration.register_extra_headers;
5858

5959
// Custom Contact header params for REGISTER and un-REGISTER.
6060
_extraContactParams = '';

lib/src/sip_ua_helper.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ class SIPUAHelper extends EventManager {
153153
_settings.user_agent = uaSettings.userAgent ?? DartSIP_C.USER_AGENT;
154154
_settings.register = uaSettings.register;
155155
_settings.register_expires = uaSettings.register_expires;
156+
_settings.register_extra_headers = uaSettings.registerParams.extraHeaders;
156157
_settings.register_extra_contact_uri_params =
157158
uaSettings.registerParams.extraContactUriParams;
158159
_settings.dtmf_mode = uaSettings.dtmfMode;
@@ -683,6 +684,7 @@ class RegisterParams {
683684
/// Allow extra headers and Contact Params to be sent on REGISTER
684685
/// Mainly used for RFC8599 Support
685686
/// https://github.com/cloudwebrtc/dart-sip-ua/issues/89
687+
List<String> extraHeaders = [];
686688
Map<String, dynamic> extraContactUriParams = <String, dynamic>{};
687689
}
688690

0 commit comments

Comments
 (0)