@routr/processor 2.0.8-alpha.4 → 2.0.8-alpha.41

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.
@@ -1,13 +1,15 @@
1
1
  import { MessageRequest, Route } from "@routr/common";
2
2
  export declare const updateRequestURI: (route: Route) => (request: MessageRequest) => MessageRequest;
3
3
  export declare const addSelfVia: (route: Route) => (request: MessageRequest) => MessageRequest;
4
- export declare const addRoute: (route: Route) => (request: MessageRequest) => MessageRequest;
5
- export declare const addRouteToListeningPoint: (route: Route) => (request: MessageRequest) => MessageRequest;
4
+ export declare const addRouteToNextHop: (route: Route) => (request: MessageRequest) => MessageRequest;
5
+ export declare const addRouteToPeerEdgePort: (route: Route) => (request: MessageRequest) => MessageRequest;
6
6
  export declare const applyXHeaders: (route: Route) => (request: MessageRequest) => MessageRequest;
7
7
  export declare const addSelfRecordRoute: (route: Route) => (request: MessageRequest) => MessageRequest;
8
8
  export declare const addXEdgePortRef: (request: MessageRequest) => MessageRequest;
9
9
  export declare const removeXEdgePortRef: (request: MessageRequest) => MessageRequest;
10
10
  export declare const removeAuthorization: (request: MessageRequest) => MessageRequest;
11
- export declare const removeRoutes: (request: MessageRequest) => MessageRequest;
11
+ export declare const removeSelfRoutes: (request: MessageRequest) => MessageRequest;
12
12
  export declare const removeTopVia: (request: MessageRequest) => MessageRequest;
13
13
  export declare const decreaseMaxForwards: (request: MessageRequest) => MessageRequest;
14
+ export declare const fixInvalidContact: (request: MessageRequest) => MessageRequest;
15
+ export declare const enforceE164: (enforceE164: boolean, validateMobilePrefix: boolean) => (request: MessageRequest) => MessageRequest;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decreaseMaxForwards = exports.removeTopVia = exports.removeRoutes = exports.removeAuthorization = exports.removeXEdgePortRef = exports.addXEdgePortRef = exports.addSelfRecordRoute = exports.applyXHeaders = exports.addRouteToListeningPoint = exports.addRoute = exports.addSelfVia = exports.updateRequestURI = void 0;
3
+ exports.enforceE164 = exports.fixInvalidContact = exports.decreaseMaxForwards = exports.removeTopVia = exports.removeSelfRoutes = exports.removeAuthorization = exports.removeXEdgePortRef = exports.addXEdgePortRef = exports.addSelfRecordRoute = exports.applyXHeaders = exports.addRouteToPeerEdgePort = exports.addRouteToNextHop = exports.addSelfVia = exports.updateRequestURI = void 0;
4
4
  /*
5
- * Copyright (C) 2022 by Fonoster Inc (https://fonoster.com)
5
+ * Copyright (C) 2023 by Fonoster Inc (https://fonoster.com)
6
6
  * http://github.com/fonoster/routr
7
7
  *
8
8
  * This file is part of Routr
@@ -20,6 +20,7 @@ exports.decreaseMaxForwards = exports.removeTopVia = exports.removeRoutes = expo
20
20
  * limitations under the License.
21
21
  */
22
22
  const common_1 = require("@routr/common");
23
+ const phone_1 = require("phone");
23
24
  const helper_1 = require("./helper");
24
25
  // Q: Should we deprecate this method since we are not doing strict routing?
25
26
  const updateRequestURI = (route) => (request) => {
@@ -37,29 +38,20 @@ const updateRequestURI = (route) => (request) => {
37
38
  };
38
39
  exports.updateRequestURI = updateRequestURI;
39
40
  const addSelfVia = (route) => (request) => {
40
- var _a;
41
41
  const req = common_1.Helper.deepCopy(request);
42
- // If is comming from a different edgeport we use the listening point instead
43
- // of the endpoint to ensure connectivity.
44
- const nextHopHost = request.edgePortRef === route.edgePortRef
45
- ? route.host
46
- : route.egressListeningPoint.host;
47
- const egressListeningPoint = common_1.Helper.getListeningPoint(request, route.transport);
48
- // If the nextHopHost host is local, then use use lp to construct via
49
- // otherwise, we use the first available external ip.
50
- const via = common_1.IpUtils.isLocalnet(req.localnets, nextHopHost)
51
- ? route.egressListeningPoint
52
- : {
53
- // fallback to lp host if there is no external ips
54
- host: (_a = req.externalAddrs[0]) !== null && _a !== void 0 ? _a : egressListeningPoint.host,
55
- port: egressListeningPoint.port,
56
- transport: egressListeningPoint.transport
57
- };
58
- req.message.via = [via, ...req.message.via];
42
+ const routingObjects = request.edgePortRef === route.edgePortRef ? route : request;
43
+ const targetIntf = (0, helper_1.getEdgeInterface)(Object.assign(Object.assign({}, routingObjects), { endpointIntf: route }));
44
+ req.message.via = [
45
+ Object.assign(Object.assign({}, targetIntf), { rPortFlag: true }),
46
+ ...req.message.via
47
+ ];
59
48
  return req;
60
49
  };
61
50
  exports.addSelfVia = addSelfVia;
62
- const addRoute = (route) => (request) => {
51
+ const addRouteToNextHop = (route) => (request) => {
52
+ if (request.message.requestUri.host === route.host) {
53
+ return request;
54
+ }
63
55
  const req = common_1.Helper.deepCopy(request);
64
56
  const r = {
65
57
  address: {
@@ -74,15 +66,21 @@ const addRoute = (route) => (request) => {
74
66
  req.message.route = [r, ...req.message.route];
75
67
  return req;
76
68
  };
77
- exports.addRoute = addRoute;
78
- const addRouteToListeningPoint = (route) => (request) => {
69
+ exports.addRouteToNextHop = addRouteToNextHop;
70
+ const addRouteToPeerEdgePort = (route) => (request) => {
79
71
  const req = common_1.Helper.deepCopy(request);
72
+ const targetIntf = (0, helper_1.getEdgeInterface)({
73
+ listeningPoints: route.listeningPoints,
74
+ localnets: route.localnets,
75
+ externalAddrs: route.externalAddrs,
76
+ endpointIntf: route
77
+ });
80
78
  const r = {
81
79
  address: {
82
80
  uri: {
83
- host: route.egressListeningPoint.host,
84
- port: route.egressListeningPoint.port,
85
- transportParam: route.egressListeningPoint.transport,
81
+ host: targetIntf.host,
82
+ port: targetIntf.port,
83
+ transportParam: targetIntf.transport,
86
84
  lrParam: true
87
85
  }
88
86
  }
@@ -90,14 +88,14 @@ const addRouteToListeningPoint = (route) => (request) => {
90
88
  req.message.route = [r, ...req.message.route];
91
89
  return req;
92
90
  };
93
- exports.addRouteToListeningPoint = addRouteToListeningPoint;
91
+ exports.addRouteToPeerEdgePort = addRouteToPeerEdgePort;
94
92
  const applyXHeaders = (route) => (request) => {
95
93
  const req = common_1.Helper.deepCopy(request);
96
94
  if (route.headers && route.headers.length > 0) {
97
95
  const headersToRemove = route.headers
98
96
  .filter((h) => h.action === common_1.CommonTypes.HeaderModifierAction.REMOVE)
99
- .map((h) => h.name);
100
- const headersToAdd = route.headers.filter((h) => h.action !== common_1.CommonTypes.HeaderModifierAction.REMOVE);
97
+ .map((h) => h.name.toLowerCase());
98
+ const headersToAdd = route.headers.filter((h) => h.action === common_1.CommonTypes.HeaderModifierAction.ADD);
101
99
  req.message.extensions = req.message.extensions.filter((h) => !headersToRemove.includes(h.name.toLowerCase()));
102
100
  headersToAdd.forEach((h) => {
103
101
  req.message.extensions.push({ name: h.name, value: h.value });
@@ -108,8 +106,18 @@ const applyXHeaders = (route) => (request) => {
108
106
  exports.applyXHeaders = applyXHeaders;
109
107
  const addSelfRecordRoute = (route) => (request) => {
110
108
  const req = common_1.Helper.deepCopy(request);
111
- const originIntf = (0, helper_1.getEdgeInterface)(request, request.sender);
112
- const targetIntf = (0, helper_1.getEdgeInterface)(request, route);
109
+ const originIntf = (0, helper_1.getEdgeInterface)({
110
+ listeningPoints: request.listeningPoints,
111
+ localnets: request.localnets,
112
+ externalAddrs: request.externalAddrs,
113
+ endpointIntf: request.sender
114
+ });
115
+ const targetIntf = (0, helper_1.getEdgeInterface)({
116
+ listeningPoints: request.listeningPoints,
117
+ localnets: request.localnets,
118
+ externalAddrs: request.externalAddrs,
119
+ endpointIntf: route
120
+ });
113
121
  const originRoute = {
114
122
  address: {
115
123
  uri: {
@@ -174,21 +182,21 @@ const removeAuthorization = (request) => {
174
182
  return req;
175
183
  };
176
184
  exports.removeAuthorization = removeAuthorization;
177
- const removeRoutes = (request) => {
185
+ const removeSelfRoutes = (request) => {
178
186
  const req = common_1.Helper.deepCopy(request);
187
+ const localIps = request.localnets.map((ln) => ln.split("/")[0]);
179
188
  req.message.route = req.message.route.filter((r) => {
180
189
  var _a;
181
- const localIps = request.localnets.map((ln) => ln.split("/")[0]);
182
- const lp = common_1.Helper.getListeningPoint(request, ((_a = r.address.uri.transportParam) === null || _a === void 0 ? void 0 : _a.toLowerCase()) ||
190
+ const lp = common_1.Helper.getListeningPoint(request.listeningPoints, ((_a = r.address.uri.transportParam) === null || _a === void 0 ? void 0 : _a.toUpperCase()) ||
183
191
  common_1.Transport.UDP);
184
- const route = r.address.uri;
185
- return !((localIps.includes(route.host) ||
186
- request.externalAddrs.includes(route.host)) &&
187
- route.port === lp.port);
192
+ const routeUri = r.address.uri;
193
+ return !((localIps.includes(routeUri.host) ||
194
+ request.externalAddrs.includes(routeUri.host)) &&
195
+ routeUri.port === lp.port);
188
196
  });
189
197
  return req;
190
198
  };
191
- exports.removeRoutes = removeRoutes;
199
+ exports.removeSelfRoutes = removeSelfRoutes;
192
200
  const removeTopVia = (request) => {
193
201
  const req = common_1.Helper.deepCopy(request);
194
202
  req.message.via.shift();
@@ -204,3 +212,48 @@ const decreaseMaxForwards = (request) => {
204
212
  return req;
205
213
  };
206
214
  exports.decreaseMaxForwards = decreaseMaxForwards;
215
+ const fixInvalidContact = (request) => {
216
+ var _a;
217
+ const req = common_1.Helper.deepCopy(request);
218
+ const via = req.message.via[0];
219
+ if ((_a = req.message.contact) === null || _a === void 0 ? void 0 : _a.address.uri.host.includes(".invalid")) {
220
+ req.message.contact.address.uri.host = via.received || via.host;
221
+ req.message.contact.address.uri.port =
222
+ via.rPort !== -1 ? via.rPort : via.port;
223
+ req.message.contact.address.uri.transportParam =
224
+ via.transport.toUpperCase();
225
+ }
226
+ return req;
227
+ };
228
+ exports.fixInvalidContact = fixInvalidContact;
229
+ // Will do the best effort to normalize from/to/requestUri users as e164 values
230
+ const enforceE164 = (enforceE164, validateMobilePrefix) => (request) => {
231
+ var _a, _b, _c;
232
+ if (!enforceE164)
233
+ return request;
234
+ const req = common_1.Helper.deepCopy(request);
235
+ // Removes the + to ensure not having duplicates
236
+ const fromUser = (_a = req.message.from.address.uri.user) === null || _a === void 0 ? void 0 : _a.replace("+", "");
237
+ const toUser = (_b = req.message.to.address.uri.user) === null || _b === void 0 ? void 0 : _b.replace("+", "");
238
+ const requestUriUser = (_c = req.message.requestUri.user) === null || _c === void 0 ? void 0 : _c.replace("+", "");
239
+ // Normalizing as e164
240
+ const normalizedTo = (0, phone_1.phone)(`+${toUser}`, { validateMobilePrefix });
241
+ const normalizedFrom = (0, phone_1.phone)(`+${fromUser}`, {
242
+ validateMobilePrefix: true
243
+ });
244
+ const normalizedReqUri = (0, phone_1.phone)(`+${requestUriUser}`, {
245
+ validateMobilePrefix
246
+ });
247
+ // If the normalization worked we overwrite the original values
248
+ if (normalizedFrom.isValid) {
249
+ req.message.from.address.uri.user = normalizedFrom.phoneNumber;
250
+ }
251
+ if (normalizedTo.isValid) {
252
+ req.message.to.address.uri.user = normalizedTo.phoneNumber;
253
+ }
254
+ if (normalizedReqUri.isValid) {
255
+ req.message.requestUri.user = normalizedReqUri.phoneNumber;
256
+ }
257
+ return req;
258
+ };
259
+ exports.enforceE164 = enforceE164;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.removeHeader = exports.addHeader = exports.updateHeader = exports.getHeaderValue = void 0;
4
4
  /*
5
- * Copyright (C) 2022 by Fonoster Inc (https://fonoster.com)
5
+ * Copyright (C) 2023 by Fonoster Inc (https://fonoster.com)
6
6
  * http://github.com/fonoster/routr
7
7
  *
8
8
  * This file is part of Routr
@@ -22,7 +22,7 @@ exports.removeHeader = exports.addHeader = exports.updateHeader = exports.getHea
22
22
  const common_1 = require("@routr/common");
23
23
  const getHeaderValue = (request, name) => {
24
24
  var _a;
25
- return (_a = request.message.extensions.find((ext) => ext.name.toLowerCase() === name.toLowerCase())) === null || _a === void 0 ? void 0 : _a.value;
25
+ return ((_a = request.message.extensions.find((ext) => ext.name.toLowerCase() === (name === null || name === void 0 ? void 0 : name.toLowerCase()))) === null || _a === void 0 ? void 0 : _a.value) || null;
26
26
  };
27
27
  exports.getHeaderValue = getHeaderValue;
28
28
  const updateHeader = (request, header) => {
package/dist/helper.d.ts CHANGED
@@ -1,12 +1,16 @@
1
- import { MessageRequest, Route, NetInterface } from "@routr/common";
1
+ import { MessageRequest, Transport, NetInterface } from "@routr/common";
2
2
  export declare const isTypeResponse: (request: MessageRequest) => boolean;
3
3
  export declare const isTypeRequest: (request: MessageRequest) => boolean;
4
- export declare const getEdgeInterface: (request: MessageRequest, endpointIntf: NetInterface) => NetInterface;
5
- /**
6
- * A request traversing a second EdgePort would have an updated the requestUri.
7
- * Therefore, we are able to re-construct the Route from the request.
8
- *
9
- * @param {MessageRequest} request - the request
10
- * @return {Route} the route
11
- */
12
- export declare function createRouteFromLastMessage(request: MessageRequest): Route;
4
+ export declare const getEdgeInterface: (nets: {
5
+ listeningPoints: NetInterface[];
6
+ endpointIntf: NetInterface;
7
+ localnets: string[];
8
+ externalAddrs: string[];
9
+ }) => NetInterface;
10
+ export declare const hasSDP: (request: MessageRequest) => boolean;
11
+ export declare const isOk: (request: MessageRequest) => boolean;
12
+ export declare const isRinging: (request: MessageRequest) => boolean;
13
+ export declare const isWebRTC: (transport: Transport) => boolean;
14
+ export declare const isInviteOrAckWithSDP: (request: MessageRequest) => boolean;
15
+ export declare const isOkOrRingingWithSDP: (request: MessageRequest) => boolean;
16
+ export declare const isBye: (request: MessageRequest) => boolean;
package/dist/helper.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createRouteFromLastMessage = exports.getEdgeInterface = exports.isTypeRequest = exports.isTypeResponse = void 0;
3
+ exports.isBye = exports.isOkOrRingingWithSDP = exports.isInviteOrAckWithSDP = exports.isWebRTC = exports.isRinging = exports.isOk = exports.hasSDP = exports.getEdgeInterface = exports.isTypeRequest = exports.isTypeResponse = void 0;
4
4
  /*
5
- * Copyright (C) 2022 by Fonoster Inc (https://fonoster.com)
5
+ * Copyright (C) 2023 by Fonoster Inc (https://fonoster.com)
6
6
  * http://github.com/fonoster/routr
7
7
  *
8
8
  * This file is part of Routr
@@ -21,16 +21,16 @@ exports.createRouteFromLastMessage = exports.getEdgeInterface = exports.isTypeRe
21
21
  */
22
22
  const common_1 = require("@routr/common");
23
23
  const common_2 = require("@routr/common");
24
- const index_1 = require("./index");
25
24
  const isTypeResponse = (request) => request.message.messageType === common_1.CommonTypes.MessageType.RESPONSE;
26
25
  exports.isTypeResponse = isTypeResponse;
27
26
  const isTypeRequest = (request) => !(0, exports.isTypeResponse)(request);
28
27
  exports.isTypeRequest = isTypeRequest;
29
- const getEdgeInterface = (request, endpointIntf) => {
30
- const localnetIp = common_2.IpUtils.getLocalnetIp(request.localnets, endpointIntf.host);
31
- const host = localnetIp !== null && localnetIp !== void 0 ? localnetIp : request.externalAddrs[0];
32
- const lp = common_1.Helper.getListeningPoint(request, endpointIntf.transport);
33
- if (!localnetIp && request.externalAddrs.length === 0) {
28
+ const getEdgeInterface = (nets) => {
29
+ const { listeningPoints, endpointIntf, localnets, externalAddrs } = nets;
30
+ const localnetIp = common_2.IpUtils.getLocalnetIp(localnets, endpointIntf.host);
31
+ const host = localnetIp !== null && localnetIp !== void 0 ? localnetIp : externalAddrs[0];
32
+ const lp = common_1.Helper.getListeningPoint(listeningPoints, endpointIntf.transport);
33
+ if (!localnetIp && externalAddrs.length === 0) {
34
34
  throw new Error(`unable to find a valid interface for host ${endpointIntf.host} and transport ${lp.transport}`);
35
35
  }
36
36
  if (localnetIp && lp.host !== "0.0.0.0" && lp.host !== host) {
@@ -43,29 +43,21 @@ const getEdgeInterface = (request, endpointIntf) => {
43
43
  };
44
44
  };
45
45
  exports.getEdgeInterface = getEdgeInterface;
46
- /**
47
- * A request traversing a second EdgePort would have an updated the requestUri.
48
- * Therefore, we are able to re-construct the Route from the request.
49
- *
50
- * @param {MessageRequest} request - the request
51
- * @return {Route} the route
52
- */
53
- function createRouteFromLastMessage(request) {
54
- const uri = request.message.requestUri;
55
- const sessionCount = index_1.Extensions.getHeaderValue(request, common_1.CommonTypes.ExtraHeader.SESSION_COUNT)
56
- ? parseInt(index_1.Extensions.getHeaderValue(request, common_1.CommonTypes.ExtraHeader.SESSION_COUNT))
57
- : -1;
58
- const egressListeningPoint = common_1.Helper.getListeningPoint(request, uri.transportParam.toLowerCase());
59
- return {
60
- edgePortRef: request.edgePortRef,
61
- user: uri.user,
62
- host: uri.host,
63
- port: uri.port,
64
- transport: uri.transportParam.toLowerCase(),
65
- registeredOn: Date.now(),
66
- sessionCount,
67
- expires: index_1.Target.getTargetExpires(request),
68
- egressListeningPoint
69
- };
70
- }
71
- exports.createRouteFromLastMessage = createRouteFromLastMessage;
46
+ const hasSDP = (request) => { var _a; return ((_a = request.message.body) === null || _a === void 0 ? void 0 : _a.length) > 0; };
47
+ exports.hasSDP = hasSDP;
48
+ const isOk = (request) => request.message.responseType === common_1.CommonTypes.ResponseType.OK;
49
+ exports.isOk = isOk;
50
+ const isRinging = (request) => request.message.responseType === common_1.CommonTypes.ResponseType.RINGING;
51
+ exports.isRinging = isRinging;
52
+ const isWebRTC = (transport) => transport === common_1.Transport.WS || transport === common_1.Transport.WSS;
53
+ exports.isWebRTC = isWebRTC;
54
+ const isInviteOrAckWithSDP = (request) => (0, exports.isTypeRequest)(request) &&
55
+ (0, exports.hasSDP)(request) &&
56
+ (request.method === common_1.Method.INVITE || request.method === common_1.Method.ACK);
57
+ exports.isInviteOrAckWithSDP = isInviteOrAckWithSDP;
58
+ const isOkOrRingingWithSDP = (request) => (0, exports.isTypeResponse)(request) &&
59
+ (0, exports.hasSDP)(request) &&
60
+ ((0, exports.isOk)(request) || (0, exports.isRinging)(request));
61
+ exports.isOkOrRingingWithSDP = isOkOrRingingWithSDP;
62
+ const isBye = (request) => (0, exports.isTypeRequest)(request) && request.method === common_1.Method.BYE;
63
+ exports.isBye = isBye;
package/dist/processor.js CHANGED
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  /*
7
- * Copyright (C) 2022 by Fonoster Inc (https://fonoster.com)
7
+ * Copyright (C) 2023 by Fonoster Inc (https://fonoster.com)
8
8
  * http://github.com/fonoster/routr
9
9
  *
10
10
  * This file is part of Routr
@@ -31,6 +31,10 @@ export default class Response {
31
31
  * Sends a not implemented response.
32
32
  */
33
33
  sendNotImplemented(): void;
34
+ /**
35
+ * Sends a internal server error response.
36
+ */
37
+ sendInternalServerError(): void;
34
38
  /**
35
39
  * Sends a response with a SIP Message.
36
40
  *
@@ -41,6 +45,7 @@ export default class Response {
41
45
  * Sends an error response.
42
46
  *
43
47
  * @param {Error} error - The error to be sent.
48
+ * @deprecated
44
49
  */
45
50
  sendError(error: Error): void;
46
51
  }
package/dist/response.js CHANGED
@@ -1,7 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const buildResponse = (code, extraHeaders) => {
4
- return { message: { responseType: code, extensions: extraHeaders } };
3
+ /*
4
+ * Copyright (C) 2023 by Fonoster Inc (https://fonoster.com)
5
+ * http://github.com/fonoster/routr
6
+ *
7
+ * This file is part of Routr
8
+ *
9
+ * Licensed under the MIT License (the "License")
10
+ * you may not use this file except in compliance with
11
+ * the License. You may obtain a copy of the License at
12
+ *
13
+ * https://opensource.org/licenses/MIT
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ const common_1 = require("@routr/common");
22
+ const buildResponse = (info) => {
23
+ return {
24
+ message: {
25
+ responseType: info.code,
26
+ reasonPhrase: info.reasonPhrase,
27
+ extensions: info.extraHeaders
28
+ }
29
+ };
5
30
  };
6
31
  /**
7
32
  * Response object.
@@ -21,25 +46,43 @@ class Response {
21
46
  * @param {object[]} extraHeaders - Optional extra headers to be sent.
22
47
  */
23
48
  sendOk(extraHeaders) {
24
- this.callback(null, buildResponse(7, extraHeaders));
49
+ this.callback(null, buildResponse({ code: common_1.CommonTypes.ResponseType.OK, extraHeaders }));
25
50
  }
26
51
  /**
27
52
  * Sends a method not allowed response.
28
53
  */
29
54
  sendMethodNotAllowed() {
30
- this.callback(null, buildResponse(21));
55
+ this.callback(null, buildResponse({
56
+ code: common_1.CommonTypes.ResponseType.METHOD_NOT_ALLOWED,
57
+ reasonPhrase: "Method Not Allowed"
58
+ }));
31
59
  }
32
60
  /**
33
61
  * Sends a not found response.
34
62
  */
35
63
  sendNotFound() {
36
- this.callback(null, buildResponse(20));
64
+ this.callback(null, buildResponse({
65
+ code: common_1.CommonTypes.ResponseType.NOT_FOUND,
66
+ reasonPhrase: "Not Found"
67
+ }));
37
68
  }
38
69
  /**
39
70
  * Sends a not implemented response.
40
71
  */
41
72
  sendNotImplemented() {
42
- this.callback(null, buildResponse(47));
73
+ this.callback(null, buildResponse({
74
+ code: common_1.CommonTypes.ResponseType.NOT_IMPLEMENTED,
75
+ reasonPhrase: "Not Implemented"
76
+ }));
77
+ }
78
+ /**
79
+ * Sends a internal server error response.
80
+ */
81
+ sendInternalServerError() {
82
+ this.callback(null, buildResponse({
83
+ code: common_1.CommonTypes.ResponseType.SERVER_INTERNAL_ERROR,
84
+ reasonPhrase: "Internal Server Error"
85
+ }));
43
86
  }
44
87
  /**
45
88
  * Sends a response with a SIP Message.
@@ -53,6 +96,7 @@ class Response {
53
96
  * Sends an error response.
54
97
  *
55
98
  * @param {Error} error - The error to be sent.
99
+ * @deprecated
56
100
  */
57
101
  sendError(error) {
58
102
  this.callback(error, null);
package/dist/tracer.js CHANGED
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.init = void 0;
7
7
  /*
8
- * Copyright (C) 2022 by Fonoster Inc (https://fonoster.com)
8
+ * Copyright (C) 2023 by Fonoster Inc (https://fonoster.com)
9
9
  * http://github.com/fonoster/routr
10
10
  *
11
11
  * This file is part of Routr
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@routr/processor",
3
- "version": "2.0.8-alpha.4",
3
+ "version": "2.0.8-alpha.41",
4
4
  "description": "Processor server and API",
5
5
  "author": "Pedro Sanders <psanders@fonoster.com>",
6
6
  "homepage": "https://github.com/fonoster/routr#readme",
@@ -12,9 +12,9 @@
12
12
  "build": "tsc -b tsconfig.json"
13
13
  },
14
14
  "dependencies": {
15
- "@fonoster/logger": "0.3.18",
16
- "@grpc/grpc-js": "^1.5.9",
17
- "@grpc/proto-loader": "^0.6.9",
15
+ "@fonoster/logger": "0.3.20",
16
+ "@grpc/grpc-js": "^1.8.4",
17
+ "@grpc/proto-loader": "^0.7.2",
18
18
  "@opentelemetry/api": "^1.0.4",
19
19
  "@opentelemetry/exporter-jaeger": "^1.0.4",
20
20
  "@opentelemetry/instrumentation": "^0.27.0",
@@ -23,8 +23,9 @@
23
23
  "@opentelemetry/sdk-trace-base": "^1.0.4",
24
24
  "@opentelemetry/sdk-trace-node": "^1.0.4",
25
25
  "@opentelemetry/semantic-conventions": "^1.0.4",
26
- "@routr/common": "^2.0.8-alpha.4",
27
- "fp-ts": "^2.11.8"
26
+ "@routr/common": "^2.0.8-alpha.41",
27
+ "fp-ts": "^2.11.8",
28
+ "phone": "^3.1.32"
28
29
  },
29
30
  "directories": {
30
31
  "src": "src",
@@ -43,5 +44,5 @@
43
44
  "bugs": {
44
45
  "url": "https://github.com/fonoster/routr/issues"
45
46
  },
46
- "gitHead": "320abeb05175976ddfca265096a2ea63004607f4"
47
+ "gitHead": "52f44320b57824dfea40f48b02b44b9a8e6bdda3"
47
48
  }