@voicenter-team/opensips-js 1.0.20 → 1.0.22

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,74 @@
1
+ import { Transport } from 'jssip/lib/Transport'
2
+ import { UAExtended } from '@/helpers/UA/index'
3
+ import { AnswerOptions, MSRPSessionEventMap } from '@/lib/msrp/session'
4
+ import { Socket, WeightedSocket } from 'jssip/lib/Socket'
5
+
6
+ declare module 'jssip' {
7
+ export class UA {
8
+ protected _transport: Transport
9
+ protected _sessions: any[]
10
+ protected _msrp_sessions: any[]
11
+ protected _registrator: any
12
+ protected _applicants: any[]
13
+ protected _dynConfiguration: object
14
+ protected _status: number
15
+ protected _closeTimer: any
16
+ protected _configuration: any
17
+ protected _contact: any
18
+
19
+ _findDialog(call_id, from, to)
20
+ _findSession(request)
21
+ call(target, options)
22
+ }
23
+
24
+ export class Message {
25
+ constructor(ua)
26
+ init_incoming(request)
27
+ }
28
+
29
+ export class Options {
30
+ constructor(ua)
31
+ init_incoming(request)
32
+ }
33
+
34
+ export interface MSRPOptions extends AnswerOptions {
35
+ eventHandlers?: Partial<MSRPSessionEventMap>;
36
+ anonymous?: boolean;
37
+ fromUserName?: string;
38
+ fromDisplayName?: string;
39
+ }
40
+ export interface UAConfiguration {
41
+ // mandatory parameters
42
+ sockets: Socket | Socket[] | WeightedSocket[] ;
43
+ uri: string;
44
+ // optional parameters
45
+ authorization_jwt?: string;
46
+ authorization_user?: string;
47
+ connection_recovery_max_interval?: number;
48
+ connection_recovery_min_interval?: number;
49
+ contact_uri?: string;
50
+ display_name?: string;
51
+ instance_id?: string;
52
+ no_answer_timeout?: number;
53
+ session_timers?: boolean;
54
+ session_timers_refresh_method?: string;
55
+ session_timers_force_refresher?: boolean;
56
+ password?: string;
57
+ realm?: string;
58
+ ha1?: string;
59
+ register?: boolean;
60
+ register_expires?: number;
61
+ registrar_server?: string;
62
+ use_preloaded_route?: boolean;
63
+ user_agent?: string;
64
+ extra_headers?: string[];
65
+ }
66
+ export class RTCSessiono {
67
+ init_incoming(request)
68
+ constructor(ua)
69
+ }
70
+ }
71
+
72
+ declare module 'jssip/lib/URI' {
73
+
74
+ }
@@ -1,11 +1,15 @@
1
1
  import { ICall, RoomChangeEmitType, ICallStatus } from '@/types/rtc'
2
2
  import { UAEventMap } from 'jssip/lib/UA'
3
+ import MSRPMessage from '@/lib/msrp/message'
4
+ import { ITimeData } from '@/helpers/time.helper'
3
5
 
4
6
  export type readyListener = (value: boolean) => void
5
7
  export type changeActiveCallsListener = (event: { [key: string]: ICall }) => void
8
+ export type changeActiveMessagesListener = (event: { [key: string]: IMessage }) => void
6
9
  export type TestEventListener = (event: { test: string }) => void
7
10
  export type ActiveRoomListener = (event: number | undefined) => void
8
11
  export type CallAddingProgressListener = (callId: string | undefined) => void
12
+ export type MSRPInitializingListener = (sessionId: string | undefined) => void
9
13
  export type RoomDeletedListener = (roomId: number) => void
10
14
  export type changeActiveInputMediaDeviceListener = (event: string) => void
11
15
  export type changeActiveOutputMediaDeviceListener = (event: string) => void
@@ -17,14 +21,22 @@ export type changeOriginalStreamListener = (value: MediaStream) => void
17
21
  export type addRoomListener = (value: RoomChangeEmitType) => void
18
22
  export type updateRoomListener = (value: RoomChangeEmitType) => void
19
23
  export type removeRoomListener = (value: RoomChangeEmitType) => void
24
+ export type IncomingMSRPSessionListener = (event: IncomingMSRPSessionEvent) => void;
25
+ export type OutgoingMSRPSessionListener = (event: OutgoingMSRPSessionEvent) => void;
26
+ export type MSRPSessionListener = IncomingMSRPSessionListener | OutgoingMSRPSessionListener;
27
+ export type MSRPMessageListener = MSRPMessage;
20
28
  export type changeCallStatusListener = (event: { [key: string]: ICallStatus }) => void
29
+ export type changeCallTimeListener = (event: { [key: string]: ITimeData }) => void
30
+ export type changeCallMetricsListener = (event: { [key: string]: any }) => void
21
31
 
22
32
  export interface OpenSIPSEventMap extends UAEventMap {
23
33
  ready: readyListener
24
34
  changeActiveCalls: changeActiveCallsListener
35
+ changeActiveMessages: changeActiveMessagesListener
25
36
  callConfirmed: TestEventListener
26
37
  currentActiveRoomChanged: ActiveRoomListener
27
38
  callAddingInProgressChanged: CallAddingProgressListener
39
+ isMSRPInitializingChanged: MSRPInitializingListener
28
40
  roomDeleted: RoomDeletedListener
29
41
  changeActiveInputMediaDevice: changeActiveInputMediaDeviceListener
30
42
  changeActiveOutputMediaDevice: changeActiveOutputMediaDeviceListener
@@ -37,8 +49,12 @@ export interface OpenSIPSEventMap extends UAEventMap {
37
49
  updateRoom: updateRoomListener
38
50
  removeRoom: removeRoomListener
39
51
  changeCallStatus: changeCallStatusListener
52
+ changeCallTime: changeCallTimeListener
53
+ changeCallMetrics: changeCallMetricsListener
54
+ newMSRPSession: MSRPSessionListener
55
+ newMSRPMessage: MSRPMessageListener
40
56
  }
41
57
 
42
58
  export type ListenersKeyType = keyof OpenSIPSEventMap
43
59
  export type ListenersCallbackFnType = OpenSIPSEventMap[ListenersKeyType]
44
- export type ListenerCallbackFnType<T extends ListenersKeyType> = OpenSIPSEventMap[T]
60
+ export type ListenerCallbackFnType<T extends ListenersKeyType> = OpenSIPSEventMap[T]
@@ -0,0 +1,49 @@
1
+ import {
2
+ AnswerOptions,
3
+ EndEvent,
4
+ IncomingAckEvent,
5
+ IncomingEvent,
6
+ OutgoingAckEvent,
7
+ OutgoingEvent,
8
+ MSRPSession, MSRPSessionEventMap
9
+ } from '@/lib/msrp/session'
10
+
11
+ import { StreamMediaType } from '@/types/rtc'
12
+
13
+ export type ListenerEventType = EndEvent | IncomingEvent | OutgoingEvent | IncomingAckEvent | OutgoingAckEvent
14
+
15
+ export interface IMessage extends MSRPSessionExtended {
16
+ roomId?: number
17
+ localMuted?: boolean
18
+ localHold?: boolean
19
+ audioTag?: StreamMediaType
20
+ }
21
+
22
+
23
+ export interface MSRPSessionExtended extends MSRPSession {
24
+ id: string
25
+ _automaticHold: boolean
26
+ _id: string
27
+ _localHold: boolean
28
+ _audioMuted: boolean
29
+ _cancel_reason: string
30
+ _contact: string
31
+ _end_time: Date
32
+ _eventsCount: number
33
+ _from_tag: string
34
+ _is_canceled: boolean
35
+ _is_confirmed: boolean
36
+ _late_sdp: string
37
+ _videoMuted: boolean
38
+ _status: number
39
+ _remote_identity: string
40
+ target_addr: Array<string>
41
+ answer(options?: any): void
42
+ _init_incomeing()
43
+ }
44
+
45
+ export interface TriggerMSRPListenerOptions {
46
+ listenerType: string
47
+ session: MSRPSessionExtended
48
+ event?: ListenerEventType
49
+ }
@@ -68,6 +68,7 @@ export interface RTCSessionExtended extends RTCSession {
68
68
  _status: number
69
69
  _remote_identity: RemoteIdentityCallType
70
70
  answer(options?: AnswerOptionsExtended): void
71
+ init_icncoming(request)
71
72
  }
72
73
 
73
74
  export interface ICall extends RTCSessionExtended {
@@ -131,6 +132,14 @@ export interface TriggerListenerOptions {
131
132
  session: RTCSessionExtended
132
133
  event?: ListenerEventType
133
134
  }
135
+ type CommonLogMethodType = (...args: unknown[]) => void
136
+
137
+ export interface CustomLoggerType {
138
+ log: CommonLogMethodType
139
+ warn: CommonLogMethodType
140
+ error: CommonLogMethodType
141
+ debug: CommonLogMethodType
142
+ }
134
143
 
135
144
  /* UA */
136
145
  export interface CallOptionsExtended extends AnswerOptionsExtended {