livekit-server-sdk
Version:
Server-side SDK for LiveKit
112 lines • 4.12 kB
TypeScript
import { SIPDispatchRuleInfo, SIPInboundTrunkInfo, SIPOutboundTrunkInfo, SIPParticipantInfo, SIPTransport, SIPTrunkInfo } from '@livekit/protocol';
import ServiceBase from './ServiceBase.js';
/**
* @deprecated use CreateSipInboundTrunkOptions or CreateSipOutboundTrunkOptions
*/
export interface CreateSipTrunkOptions {
name?: string;
metadata?: string;
inbound_addresses?: string[];
inbound_numbers?: string[];
inbound_username?: string;
inbound_password?: string;
outbound_address?: string;
outbound_username?: string;
outbound_password?: string;
}
export interface CreateSipInboundTrunkOptions {
metadata?: string;
allowed_addresses?: string[];
allowed_numbers?: string[];
auth_username?: string;
auth_password?: string;
}
export interface CreateSipOutboundTrunkOptions {
metadata?: string;
transport: SIPTransport;
auth_username?: string;
auth_password?: string;
}
export interface SipDispatchRuleDirect {
type: 'direct';
roomName: string;
pin?: string;
}
export interface SipDispatchRuleIndividual {
type: 'individual';
roomPrefix: string;
pin?: string;
}
export interface CreateSipDispatchRuleOptions {
name?: string;
metadata?: string;
trunkIds?: string[];
hidePhoneNumber?: boolean;
}
export interface CreateSipParticipantOptions {
participantIdentity?: string;
participantName?: string;
participantMetadata?: string;
dtmf?: string;
playRingtone?: boolean;
hidePhoneNumber?: boolean;
}
/**
* Client to access Egress APIs
*/
export declare class SipClient extends ServiceBase {
private readonly rpc;
/**
* @param host hostname including protocol. i.e. 'https://cluster.livekit.io'
* @param apiKey API Key, can be set in env var LIVEKIT_API_KEY
* @param secret API Secret, can be set in env var LIVEKIT_API_SECRET
*/
constructor(host: string, apiKey?: string, secret?: string);
/**
* @param number phone number of the trunk
* @param opts CreateSipTrunkOptions
* @deprecated use createSipInboundTrunk or createSipOutboundTrunk
*/
createSipTrunk(number: string, opts?: CreateSipTrunkOptions): Promise<SIPTrunkInfo>;
/**
@param name human-readable name of the trunk
* @param numbers phone numbers of the trunk
* @param opts CreateSipTrunkOptions
*/
createSipInboundTrunk(name: string, numbers: string[], opts?: CreateSipInboundTrunkOptions): Promise<SIPInboundTrunkInfo>;
/**
* @param name human-readable name of the trunk
* @param address hostname and port of the SIP server to dial
* @param numbers phone numbers of the trunk
* @param opts CreateSipTrunkOptions
*/
createSipOutboundTrunk(name: string, address: string, numbers: string[], opts?: CreateSipOutboundTrunkOptions): Promise<SIPOutboundTrunkInfo>;
/**
* @deprecated use listSipInboundTrunk or listSipOutboundTrunk
*/
listSipTrunk(): Promise<Array<SIPTrunkInfo>>;
listSipInboundTrunk(): Promise<Array<SIPInboundTrunkInfo>>;
listSipOutboundTrunk(): Promise<Array<SIPOutboundTrunkInfo>>;
/**
* @param sipTrunkId sip trunk to delete
*/
deleteSipTrunk(sipTrunkId: string): Promise<SIPTrunkInfo>;
/**
* @param rule sip dispatch rule
* @param opts CreateSipDispatchRuleOptions
*/
createSipDispatchRule(rule: SipDispatchRuleDirect | SipDispatchRuleIndividual, opts?: CreateSipDispatchRuleOptions): Promise<SIPDispatchRuleInfo>;
listSipDispatchRule(): Promise<Array<SIPDispatchRuleInfo>>;
/**
* @param sipDispatchRuleId sip trunk to delete
*/
deleteSipDispatchRule(sipDispatchRuleId: string): Promise<SIPDispatchRuleInfo>;
/**
* @param sipTrunkId sip trunk to use for the call
* @param number number to dial
* @param roomName room to attach the call to
* @param opts CreateSipParticipantOptions
*/
createSipParticipant(sipTrunkId: string, number: string, roomName: string, opts?: CreateSipParticipantOptions): Promise<SIPParticipantInfo>;
}
//# sourceMappingURL=SipClient.d.ts.map