diff --git a/ee/packages/media-calls/src/sip/providers/OutgoingSipCall.ts b/ee/packages/media-calls/src/sip/providers/OutgoingSipCall.ts index 15fbd27d40910..48927f81f9c34 100644 --- a/ee/packages/media-calls/src/sip/providers/OutgoingSipCall.ts +++ b/ee/packages/media-calls/src/sip/providers/OutgoingSipCall.ts @@ -46,7 +46,7 @@ export class OutgoingSipCall extends BaseSipCall { public static async createCall(session: SipServerSession, params: InternalCallParams): Promise { logger.debug({ msg: 'OutgoingSipCall.createCall', sessionId: session.sessionId }); - const { callee, ...extraParams } = params; + const { callee, features: requestedFeatures, ...extraParams } = params; // pre-sign the callee to this session const signedCallee: MediaCallSignedContact = { @@ -68,12 +68,13 @@ export class OutgoingSipCall extends BaseSipCall { throw new SipError(SipErrorCodes.NOT_FOUND, 'Caller agent not found'); } + const features = requestedFeatures.filter((feature) => SIP_CALL_FEATURES.includes(feature)); const call = await mediaCallDirector.createCall({ ...extraParams, callee: signedCallee, calleeAgent, callerAgent, - features: SIP_CALL_FEATURES, + features, }); const channel = await calleeAgent.getOrCreateChannel(call, session.sessionId);