@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.
- package/build/enum/message.event.listener.type.d.ts +5 -0
- package/build/enum/message.event.listener.type.js +8 -0
- package/build/enum/session.direction.enum.d.ts +2 -0
- package/build/enum/session.direction.enum.js +5 -0
- package/build/helpers/UA/index.d.ts +38 -3
- package/build/helpers/UA/index.js +310 -1
- package/build/helpers/audio.helper.d.ts +7 -1
- package/build/helpers/audio.helper.js +39 -2
- package/build/helpers/jssip.d.ts +5 -0
- package/build/helpers/jssip.js +30 -0
- package/build/index.d.ts +58 -59
- package/build/index.js +395 -165
- package/build/lib/msrp/message.d.ts +12 -0
- package/build/lib/msrp/message.js +82 -0
- package/build/lib/msrp/session.d.ts +94 -0
- package/build/lib/msrp/session.js +621 -0
- package/package.json +2 -2
- package/src/types/Transactions.d.ts +9 -0
- package/src/types/UAExtended.d.ts +74 -0
- package/src/types/listeners.d.ts +17 -1
- package/src/types/msrp.d.ts +49 -0
- package/src/types/rtc.d.ts +9 -0
@@ -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
|
+
}
|
package/src/types/listeners.d.ts
CHANGED
@@ -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
|
+
}
|
package/src/types/rtc.d.ts
CHANGED
@@ -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 {
|