Skip to content

Commit

Permalink
allow to pass refresh frequency
Browse files Browse the repository at this point in the history
  • Loading branch information
ylecuyer committed Aug 9, 2024
1 parent 2f9638d commit c54d7fa
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
5 changes: 5 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,11 @@ export interface WebPhoneOptions {
* default value `4`
*/
reconnectionTimeoutWithBackup?: number;
/**
* Determines when a re-REGISTER request is sent. The value should be specified as a percentage of the expiration time (between 50 and 99).
* @defaultValue 99
*/
refreshFrequency?: number;
/** Value to provide with "reg-id" Contact parameter. when registering */
regId?: number;
/** Factory for SessionDescriptionHandler.
Expand Down
15 changes: 12 additions & 3 deletions src/userAgent.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { EventEmitter } from 'events';
import type { UserAgentOptions, InviterOptions, SessionDescriptionHandlerModifier } from 'sip.js';
import type { UserAgentOptions, InviterOptions, SessionDescriptionHandlerModifier, RegistererOptions } from 'sip.js';
import { UserAgent, UserAgentState, Registerer, RegistererState, Inviter, Messager } from 'sip.js';
import type { IncomingResponse } from 'sip.js/lib/core';
import type { WebPhoneTransport } from './transport';
Expand Down Expand Up @@ -174,11 +174,20 @@ export function createWebPhoneUserAgent(
} else {
userAgent.media = undefined;
}
userAgent.registerer = new Registerer(userAgent, {
let registererOptions : RegistererOptions = {
regId: userAgent.regId,
instanceId: userAgent.instanceId,
extraHeaders: userAgent.defaultHeaders,
});
};

if (typeof options.refreshFrequency !== 'undefined') {
registererOptions = {
...registererOptions,
refreshFrequency: options.refreshFrequency,
};
}

userAgent.registerer = new Registerer(userAgent, registererOptions);
userAgent.sipInfo = sipInfo;
userAgent.modifiers = options.modifiers;
userAgent.constraints = options.mediaConstraints;
Expand Down

0 comments on commit c54d7fa

Please sign in to comment.