interface IClient {
    account: IAccount;
    attendedTransfer(a, b): Promise<boolean>;
    close(): Promise<void>;
    connect(): Promise<boolean>;
    disconnect(): Promise<void>;
    getSession(id): null | ISession;
    getSessions(): ISession[];
    init(): Promise<void>;
    invite(uri): Promise<ISession>;
    isConnected(): boolean;
    on(event, listener): this;
    on(event, listener): this;
    on(event, listener): this;
    on(event, listener): this;
    reconfigure(options): Promise<void>;
    removeListener(event, listener): this;
    removeListener(event, listener): this;
    removeListener(event, listener): this;
    removeListener(event, listener): this;
}

Properties

account: IAccount

information about client

Methods

  • Do an attended transfer from session a to session b.

    const sessionA = await client.invite(uri);
    const sessionB = await client.invite(uri);

    if (await sessionA.accepted()) {
    await client.attendedTransfer(sessionA, sessionB);
    }

    Parameters

    Returns Promise<boolean>

  • Call this before you want to delete an instance of this class.

    Returns Promise<void>

  • Connect (and subsequently register) to server.

    Returns Promise<boolean>

  • Unregister (and subsequently disconnect) to server.

    Returns Promise<void>

  • initial configuration before connect to server

    Returns Promise<void>

  • Make an outgoing call. Requires you to be registered to a sip server.

    Returns a promise which resolves as soon as the connected sip server emits a progress response, or rejects when something goes wrong in that process.

    Parameters

    Returns Promise<ISession>

  • check is client connected and register to sip server

    Returns boolean

  • To setup a different voip account, sipserver or media devices. If you want to adapt media devices it is better to do it on-the-fly by adapting the media property on client (to change it globally) or by adapting the media property on session.

    Parameters

    Returns Promise<void>

Events

  • When receiving an invite, a (frozen) proxy session is returned which can be used to display what is needed in your interface.

    client.on('invite', session => {
    const { number, displayName } = session.remoteIdentity;

    // accept the incoming session after 5 seconds.
    setTimeout(() => session.accept(), 5000)

    await session.accepted();

    // session is accepted!

    // terminate the session after 5 seconds.
    setTimeout(() => session.terminate(), 5000)
    })

    Parameters

    • event: "invite"
    • listener: ((session) => void)
        • (session): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "status"
    • listener: ((status) => void)

    Returns this

  • When a session is added to the sessions by an incoming or outgoing call, a sessionAdded event is emitted.

    Parameters

    • event: "sessionAdded"
    • listener: ((__namedParameters) => void)
        • (__namedParameters): void
        • Parameters

          • __namedParameters: {
                id: string;
            }
            • id: string

          Returns void

    Returns this

  • When a session is removed because it is terminated a sessionRemoved event is emitted.

    Parameters

    • event: "sessionRemoved"
    • listener: ((__namedParameters) => void)
        • (__namedParameters): void
        • Parameters

          • __namedParameters: {
                id: string;
            }
            • id: string

          Returns void

    Returns this

  • Parameters

    • event: "invite"
    • listener: ((session) => void)
        • (session): void
        • Parameters

          Returns void

    Returns this

  • Parameters

    • event: "status"
    • listener: ((status) => void)

    Returns this

  • Parameters

    • event: "sessionAdded"
    • listener: ((__namedParameters) => void)
        • (__namedParameters): void
        • Parameters

          • __namedParameters: {
                id: string;
            }
            • id: string

          Returns void

    Returns this

  • Parameters

    • event: "sessionRemoved"
    • listener: ((__namedParameters) => void)
        • (__namedParameters): void
        • Parameters

          • __namedParameters: {
                id: string;
            }
            • id: string

          Returns void

    Returns this

Generated using TypeDoc