drachtio-srf 4.5.23 → 4.5.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,64 @@
1
+ declare module 'drachtio-srf' {
2
+ import { Socket } from 'net';
3
+ import { EventEmitter } from 'events';
4
+
5
+ type SipMethod = 'ACK' | 'BYE' | 'CANCEL' | 'INFO' | 'INVITE' | 'MESSAGE' | 'NOTIFY' | 'OPTIONS' | 'PRACK' | 'PUBLISH' | 'REFER' | 'REGISTER' | 'SUBSCRIBE' | 'UPDATE';
6
+
7
+ interface SrfConfig {
8
+ apiSecret?: string;
9
+ host?: string;
10
+ port?: number;
11
+ secret?: string;
12
+ }
13
+
14
+ interface SrfRequest {
15
+ headers: {[name: string]: any};
16
+ msg: any;
17
+ method: SipMethod;
18
+ uri: string;
19
+ from: string;
20
+ to: string;
21
+ callId: string;
22
+ branch: string;
23
+ sdp: string;
24
+ get(name: string): string;
25
+ has(name: string): boolean;
26
+ }
27
+
28
+ interface SrfResponse {
29
+ headers: {[name: string]: any};
30
+ status: number;
31
+ send(sdp?: string): void;
32
+ end(): void;
33
+ set(name: string, value: string | number): void;
34
+ get(name: string): string;
35
+ }
36
+
37
+ class Srf extends EventEmitter {
38
+ connect(config?: SrfConfig): Promise<void>;
39
+ disconnect(): void;
40
+ register(options: any): void;
41
+ invite(sipUri: string, options: any): void;
42
+ bye(request: SrfRequest, options: any): void;
43
+ cancel(request: SrfRequest, options: any): void;
44
+ ack(request: SrfRequest, options: any): void;
45
+ info(request: SrfRequest, options: any): void;
46
+ message(request: SrfRequest, options: any): void;
47
+ notify(request: SrfRequest, options: any): void;
48
+ options(request: SrfRequest, options: any): void;
49
+ prack(request: SrfRequest, options: any): void;
50
+ publish(request: SrfRequest, options: any): void;
51
+ refer(request: SrfRequest, target: string, options: any): void;
52
+ subscribe(request: SrfRequest, target: string, options: any): void;
53
+ update(request: SrfRequest, options: any): void;
54
+ on(event: 'connect' | 'error' | 'disconnect', listener: () => void): this;
55
+ on(event: 'message', listener: (req: SrfRequest, res: SrfResponse) => void): this;
56
+ on(event: 'request', listener: (req: SrfRequest, res: SrfResponse) => void): this;
57
+ on(event: 'register' | 'invite' | 'bye' | 'cancel' | 'ack' | 'info' | 'notify' | 'options' | 'prack' | 'publish' | 'refer' | 'subscribe' | 'update', listener: (req: SrfRequest, res: SrfResponse) => void): this;
58
+ locals: {[name: string]: any};
59
+ socket: Socket;
60
+ }
61
+
62
+ export default Srf
63
+ }
64
+
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "drachtio-srf",
3
- "version": "4.5.23",
3
+ "version": "4.5.26",
4
4
  "description": "drachtio signaling resource framework",
5
5
  "main": "lib/srf.js",
6
+ "types": "lib/@types/index.d.ts",
6
7
  "scripts": {
7
8
  "test": "NODE_ENV=test node test/ ",
8
9
  "coverage": "./node_modules/.bin/nyc --reporter html --report-dir ./coverage npm run test",
@@ -35,6 +36,7 @@
35
36
  "uuid-random": "^1.3.2"
36
37
  },
37
38
  "devDependencies": {
39
+ "@types/node": "^16.0.0",
38
40
  "config": "^3.3.7",
39
41
  "eslint": "^8.30.0",
40
42
  "eslint-plugin-promise": "^6.1.1",
@@ -42,6 +44,7 @@
42
44
  "nyc": "^15.1.0",
43
45
  "should": "^13.2.3",
44
46
  "sip-message-examples": "^0.0.6",
45
- "tape": "^5.5.3"
47
+ "tape": "^5.5.3",
48
+ "typescript": "^4.3.2"
46
49
  }
47
50
  }