@ondewo/sip-client-angular 5.4.2 → 5.4.3

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 +1 @@
1
- {"version":3,"file":"ondewo-sip-client-angular.mjs","sources":["../../api/ondewo/sip/sip.pbconf.ts","../../api/ondewo/sip/sip.pb.ts","../../api/ondewo/sip/sip.pbsc.ts","../../ondewo-sip-client-angular.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n//\n// THIS IS A GENERATED FILE\n// DO NOT MODIFY IT! YOUR CHANGES WILL BE LOST\nimport { InjectionToken } from '@angular/core';\n\n/**\n * Specific GrpcClientSettings for Sip.\n * Use it only if your default settings are not set or the service requires other settings.\n */\nexport const GRPC_SIP_CLIENT_SETTINGS = new InjectionToken<any>(\n 'GRPC_SIP_CLIENT_SETTINGS'\n);\n","/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n//\n// THIS IS A GENERATED FILE\n// DO NOT MODIFY IT! YOUR CHANGES WILL BE LOST\nimport {\n GrpcMessage,\n RecursivePartial,\n ToProtobufJSONOptions,\n uint8ArrayToBase64\n} from '@ngx-grpc/common';\nimport { BinaryReader, BinaryWriter, ByteSource } from 'google-protobuf';\nimport * as googleProtobuf000 from '@ngx-grpc/well-known-types';\nimport * as googleProtobuf001 from '@ngx-grpc/well-known-types';\n/**\n * Message implementation for ondewo.sip.SipEndCallRequest\n */\nexport class SipEndCallRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipEndCallRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipEndCallRequest();\n SipEndCallRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipEndCallRequest) {\n _instance.hardHangup = _instance.hardHangup || false;\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipEndCallRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.hardHangup = _reader.readBool();\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipEndCallRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipEndCallRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.hardHangup) {\n _writer.writeBool(1, _instance.hardHangup);\n }\n }\n\n private _hardHangup: boolean;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipEndCallRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipEndCallRequest.AsObject>) {\n _value = _value || {};\n this.hardHangup = _value.hardHangup;\n SipEndCallRequest.refineValues(this);\n }\n get hardHangup(): boolean {\n return this._hardHangup;\n }\n set hardHangup(value: boolean) {\n this._hardHangup = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipEndCallRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipEndCallRequest.AsObject {\n return {\n hardHangup: this.hardHangup\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipEndCallRequest.AsProtobufJSON {\n return {\n hardHangup: this.hardHangup\n };\n }\n}\nexport module SipEndCallRequest {\n /**\n * Standard JavaScript object representation for SipEndCallRequest\n */\n export interface AsObject {\n hardHangup: boolean;\n }\n\n /**\n * Protobuf JSON representation for SipEndCallRequest\n */\n export interface AsProtobufJSON {\n hardHangup: boolean;\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipStartCallRequest\n */\nexport class SipStartCallRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipStartCallRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipStartCallRequest();\n SipStartCallRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipStartCallRequest) {\n _instance.calleeId = _instance.calleeId || '';\n _instance.headers = _instance.headers || {};\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipStartCallRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.calleeId = _reader.readString();\n break;\n case 2:\n const msg_2 = {} as any;\n _reader.readMessage(\n msg_2,\n SipStartCallRequest.HeadersEntry.deserializeBinaryFromReader\n );\n _instance.headers = _instance.headers || {};\n _instance.headers[msg_2.key] = msg_2.value;\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipStartCallRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipStartCallRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.calleeId) {\n _writer.writeString(1, _instance.calleeId);\n }\n if (!!_instance.headers) {\n const keys_2 = Object.keys(_instance.headers as any);\n\n if (keys_2.length) {\n const repeated_2 = keys_2\n .map(key => ({ key: key, value: (_instance.headers as any)[key] }))\n .reduce((r, v) => [...r, v], [] as any[]);\n\n _writer.writeRepeatedMessage(\n 2,\n repeated_2,\n SipStartCallRequest.HeadersEntry.serializeBinaryToWriter\n );\n }\n }\n }\n\n private _calleeId: string;\n private _headers: { [prop: string]: string };\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipStartCallRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipStartCallRequest.AsObject>) {\n _value = _value || {};\n this.calleeId = _value.calleeId;\n (this.headers = _value!.headers\n ? Object.keys(_value!.headers).reduce(\n (r, k) => ({ ...r, [k]: _value!.headers![k] }),\n {}\n )\n : {}),\n SipStartCallRequest.refineValues(this);\n }\n get calleeId(): string {\n return this._calleeId;\n }\n set calleeId(value: string) {\n this._calleeId = value;\n }\n get headers(): { [prop: string]: string } {\n return this._headers;\n }\n set headers(value: { [prop: string]: string }) {\n this._headers = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipStartCallRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipStartCallRequest.AsObject {\n return {\n calleeId: this.calleeId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {}\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipStartCallRequest.AsProtobufJSON {\n return {\n calleeId: this.calleeId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {}\n };\n }\n}\nexport module SipStartCallRequest {\n /**\n * Standard JavaScript object representation for SipStartCallRequest\n */\n export interface AsObject {\n calleeId: string;\n headers: { [prop: string]: string };\n }\n\n /**\n * Protobuf JSON representation for SipStartCallRequest\n */\n export interface AsProtobufJSON {\n calleeId: string;\n headers: { [prop: string]: string };\n }\n\n /**\n * Message implementation for ondewo.sip.SipStartCallRequest.HeadersEntry\n */\n export class HeadersEntry implements GrpcMessage {\n static id = 'ondewo.sip.SipStartCallRequest.HeadersEntry';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new HeadersEntry();\n HeadersEntry.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: HeadersEntry) {\n _instance.key = _instance.key || '';\n _instance.value = _instance.value || '';\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: HeadersEntry,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.key = _reader.readString();\n break;\n case 2:\n _instance.value = _reader.readString();\n break;\n default:\n _reader.skipField();\n }\n }\n\n HeadersEntry.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: HeadersEntry,\n _writer: BinaryWriter\n ) {\n if (_instance.key) {\n _writer.writeString(1, _instance.key);\n }\n if (_instance.value) {\n _writer.writeString(2, _instance.value);\n }\n }\n\n private _key: string;\n private _value: string;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of HeadersEntry to deeply clone from\n */\n constructor(_value?: RecursivePartial<HeadersEntry.AsObject>) {\n _value = _value || {};\n this.key = _value.key;\n this.value = _value.value;\n HeadersEntry.refineValues(this);\n }\n get key(): string {\n return this._key;\n }\n set key(value: string) {\n this._key = value;\n }\n get value(): string {\n return this._value;\n }\n set value(value: string) {\n this._value = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n HeadersEntry.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): HeadersEntry.AsObject {\n return {\n key: this.key,\n value: this.value\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): HeadersEntry.AsProtobufJSON {\n return {\n key: this.key,\n value: this.value\n };\n }\n }\n export module HeadersEntry {\n /**\n * Standard JavaScript object representation for HeadersEntry\n */\n export interface AsObject {\n key: string;\n value: string;\n }\n\n /**\n * Protobuf JSON representation for HeadersEntry\n */\n export interface AsProtobufJSON {\n key: string;\n value: string;\n }\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipRegisterAccountRequest\n */\nexport class SipRegisterAccountRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipRegisterAccountRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipRegisterAccountRequest();\n SipRegisterAccountRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipRegisterAccountRequest) {\n _instance.accountName = _instance.accountName || '';\n _instance.password = _instance.password || '';\n _instance.authUsername = _instance.authUsername || '';\n _instance.outboundProxy = _instance.outboundProxy || '';\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipRegisterAccountRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.accountName = _reader.readString();\n break;\n case 2:\n _instance.password = _reader.readString();\n break;\n case 3:\n _instance.authUsername = _reader.readString();\n break;\n case 4:\n _instance.outboundProxy = _reader.readString();\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipRegisterAccountRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipRegisterAccountRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.accountName) {\n _writer.writeString(1, _instance.accountName);\n }\n if (_instance.password) {\n _writer.writeString(2, _instance.password);\n }\n if (_instance.authUsername) {\n _writer.writeString(3, _instance.authUsername);\n }\n if (_instance.outboundProxy) {\n _writer.writeString(4, _instance.outboundProxy);\n }\n }\n\n private _accountName: string;\n private _password: string;\n private _authUsername: string;\n private _outboundProxy: string;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipRegisterAccountRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipRegisterAccountRequest.AsObject>) {\n _value = _value || {};\n this.accountName = _value.accountName;\n this.password = _value.password;\n this.authUsername = _value.authUsername;\n this.outboundProxy = _value.outboundProxy;\n SipRegisterAccountRequest.refineValues(this);\n }\n get accountName(): string {\n return this._accountName;\n }\n set accountName(value: string) {\n this._accountName = value;\n }\n get password(): string {\n return this._password;\n }\n set password(value: string) {\n this._password = value;\n }\n get authUsername(): string {\n return this._authUsername;\n }\n set authUsername(value: string) {\n this._authUsername = value;\n }\n get outboundProxy(): string {\n return this._outboundProxy;\n }\n set outboundProxy(value: string) {\n this._outboundProxy = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipRegisterAccountRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipRegisterAccountRequest.AsObject {\n return {\n accountName: this.accountName,\n password: this.password,\n authUsername: this.authUsername,\n outboundProxy: this.outboundProxy\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipRegisterAccountRequest.AsProtobufJSON {\n return {\n accountName: this.accountName,\n password: this.password,\n authUsername: this.authUsername,\n outboundProxy: this.outboundProxy\n };\n }\n}\nexport module SipRegisterAccountRequest {\n /**\n * Standard JavaScript object representation for SipRegisterAccountRequest\n */\n export interface AsObject {\n accountName: string;\n password: string;\n authUsername: string;\n outboundProxy: string;\n }\n\n /**\n * Protobuf JSON representation for SipRegisterAccountRequest\n */\n export interface AsProtobufJSON {\n accountName: string;\n password: string;\n authUsername: string;\n outboundProxy: string;\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipStartSessionRequest\n */\nexport class SipStartSessionRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipStartSessionRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipStartSessionRequest();\n SipStartSessionRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipStartSessionRequest) {\n _instance.accountName = _instance.accountName || '';\n _instance.autoAnswerInterval = _instance.autoAnswerInterval || 0;\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipStartSessionRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.accountName = _reader.readString();\n break;\n case 2:\n _instance.autoAnswerInterval = _reader.readInt32();\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipStartSessionRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipStartSessionRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.accountName) {\n _writer.writeString(1, _instance.accountName);\n }\n if (_instance.autoAnswerInterval) {\n _writer.writeInt32(2, _instance.autoAnswerInterval);\n }\n }\n\n private _accountName: string;\n private _autoAnswerInterval: number;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipStartSessionRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipStartSessionRequest.AsObject>) {\n _value = _value || {};\n this.accountName = _value.accountName;\n this.autoAnswerInterval = _value.autoAnswerInterval;\n SipStartSessionRequest.refineValues(this);\n }\n get accountName(): string {\n return this._accountName;\n }\n set accountName(value: string) {\n this._accountName = value;\n }\n get autoAnswerInterval(): number {\n return this._autoAnswerInterval;\n }\n set autoAnswerInterval(value: number) {\n this._autoAnswerInterval = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipStartSessionRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipStartSessionRequest.AsObject {\n return {\n accountName: this.accountName,\n autoAnswerInterval: this.autoAnswerInterval\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipStartSessionRequest.AsProtobufJSON {\n return {\n accountName: this.accountName,\n autoAnswerInterval: this.autoAnswerInterval\n };\n }\n}\nexport module SipStartSessionRequest {\n /**\n * Standard JavaScript object representation for SipStartSessionRequest\n */\n export interface AsObject {\n accountName: string;\n autoAnswerInterval: number;\n }\n\n /**\n * Protobuf JSON representation for SipStartSessionRequest\n */\n export interface AsProtobufJSON {\n accountName: string;\n autoAnswerInterval: number;\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipTransferCallRequest\n */\nexport class SipTransferCallRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipTransferCallRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipTransferCallRequest();\n SipTransferCallRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipTransferCallRequest) {\n _instance.transferId = _instance.transferId || '';\n _instance.headers = _instance.headers || {};\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipTransferCallRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.transferId = _reader.readString();\n break;\n case 2:\n const msg_2 = {} as any;\n _reader.readMessage(\n msg_2,\n SipTransferCallRequest.HeadersEntry.deserializeBinaryFromReader\n );\n _instance.headers = _instance.headers || {};\n _instance.headers[msg_2.key] = msg_2.value;\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipTransferCallRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipTransferCallRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.transferId) {\n _writer.writeString(1, _instance.transferId);\n }\n if (!!_instance.headers) {\n const keys_2 = Object.keys(_instance.headers as any);\n\n if (keys_2.length) {\n const repeated_2 = keys_2\n .map(key => ({ key: key, value: (_instance.headers as any)[key] }))\n .reduce((r, v) => [...r, v], [] as any[]);\n\n _writer.writeRepeatedMessage(\n 2,\n repeated_2,\n SipTransferCallRequest.HeadersEntry.serializeBinaryToWriter\n );\n }\n }\n }\n\n private _transferId: string;\n private _headers: { [prop: string]: string };\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipTransferCallRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipTransferCallRequest.AsObject>) {\n _value = _value || {};\n this.transferId = _value.transferId;\n (this.headers = _value!.headers\n ? Object.keys(_value!.headers).reduce(\n (r, k) => ({ ...r, [k]: _value!.headers![k] }),\n {}\n )\n : {}),\n SipTransferCallRequest.refineValues(this);\n }\n get transferId(): string {\n return this._transferId;\n }\n set transferId(value: string) {\n this._transferId = value;\n }\n get headers(): { [prop: string]: string } {\n return this._headers;\n }\n set headers(value: { [prop: string]: string }) {\n this._headers = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipTransferCallRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipTransferCallRequest.AsObject {\n return {\n transferId: this.transferId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {}\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipTransferCallRequest.AsProtobufJSON {\n return {\n transferId: this.transferId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {}\n };\n }\n}\nexport module SipTransferCallRequest {\n /**\n * Standard JavaScript object representation for SipTransferCallRequest\n */\n export interface AsObject {\n transferId: string;\n headers: { [prop: string]: string };\n }\n\n /**\n * Protobuf JSON representation for SipTransferCallRequest\n */\n export interface AsProtobufJSON {\n transferId: string;\n headers: { [prop: string]: string };\n }\n\n /**\n * Message implementation for ondewo.sip.SipTransferCallRequest.HeadersEntry\n */\n export class HeadersEntry implements GrpcMessage {\n static id = 'ondewo.sip.SipTransferCallRequest.HeadersEntry';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new HeadersEntry();\n HeadersEntry.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: HeadersEntry) {\n _instance.key = _instance.key || '';\n _instance.value = _instance.value || '';\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: HeadersEntry,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.key = _reader.readString();\n break;\n case 2:\n _instance.value = _reader.readString();\n break;\n default:\n _reader.skipField();\n }\n }\n\n HeadersEntry.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: HeadersEntry,\n _writer: BinaryWriter\n ) {\n if (_instance.key) {\n _writer.writeString(1, _instance.key);\n }\n if (_instance.value) {\n _writer.writeString(2, _instance.value);\n }\n }\n\n private _key: string;\n private _value: string;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of HeadersEntry to deeply clone from\n */\n constructor(_value?: RecursivePartial<HeadersEntry.AsObject>) {\n _value = _value || {};\n this.key = _value.key;\n this.value = _value.value;\n HeadersEntry.refineValues(this);\n }\n get key(): string {\n return this._key;\n }\n set key(value: string) {\n this._key = value;\n }\n get value(): string {\n return this._value;\n }\n set value(value: string) {\n this._value = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n HeadersEntry.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): HeadersEntry.AsObject {\n return {\n key: this.key,\n value: this.value\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): HeadersEntry.AsProtobufJSON {\n return {\n key: this.key,\n value: this.value\n };\n }\n }\n export module HeadersEntry {\n /**\n * Standard JavaScript object representation for HeadersEntry\n */\n export interface AsObject {\n key: string;\n value: string;\n }\n\n /**\n * Protobuf JSON representation for HeadersEntry\n */\n export interface AsProtobufJSON {\n key: string;\n value: string;\n }\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipStatus\n */\nexport class SipStatus implements GrpcMessage {\n static id = 'ondewo.sip.SipStatus';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipStatus();\n SipStatus.deserializeBinaryFromReader(instance, new BinaryReader(bytes));\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipStatus) {\n _instance.accountName = _instance.accountName || '';\n _instance.timestamp = _instance.timestamp || undefined;\n _instance.statusType = _instance.statusType || 0;\n _instance.calleeId = _instance.calleeId || '';\n _instance.transferCallId = _instance.transferCallId || '';\n _instance.headers = _instance.headers || {};\n _instance.description = _instance.description || '';\n _instance.exceptionName = _instance.exceptionName || '';\n _instance.exceptionTraceback = _instance.exceptionTraceback || '';\n _instance.nluSessionName = _instance.nluSessionName || '';\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipStatus,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.accountName = _reader.readString();\n break;\n case 2:\n _instance.timestamp = new googleProtobuf001.Timestamp();\n _reader.readMessage(\n _instance.timestamp,\n googleProtobuf001.Timestamp.deserializeBinaryFromReader\n );\n break;\n case 3:\n _instance.statusType = _reader.readEnum();\n break;\n case 4:\n _instance.calleeId = _reader.readString();\n break;\n case 5:\n _instance.transferCallId = _reader.readString();\n break;\n case 6:\n const msg_6 = {} as any;\n _reader.readMessage(\n msg_6,\n SipStatus.HeadersEntry.deserializeBinaryFromReader\n );\n _instance.headers = _instance.headers || {};\n _instance.headers[msg_6.key] = msg_6.value;\n break;\n case 7:\n _instance.description = _reader.readString();\n break;\n case 8:\n _instance.exceptionName = _reader.readString();\n break;\n case 9:\n _instance.exceptionTraceback = _reader.readString();\n break;\n case 10:\n _instance.nluSessionName = _reader.readString();\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipStatus.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(_instance: SipStatus, _writer: BinaryWriter) {\n if (_instance.accountName) {\n _writer.writeString(1, _instance.accountName);\n }\n if (_instance.timestamp) {\n _writer.writeMessage(\n 2,\n _instance.timestamp as any,\n googleProtobuf001.Timestamp.serializeBinaryToWriter\n );\n }\n if (_instance.statusType) {\n _writer.writeEnum(3, _instance.statusType);\n }\n if (_instance.calleeId) {\n _writer.writeString(4, _instance.calleeId);\n }\n if (_instance.transferCallId) {\n _writer.writeString(5, _instance.transferCallId);\n }\n if (!!_instance.headers) {\n const keys_6 = Object.keys(_instance.headers as any);\n\n if (keys_6.length) {\n const repeated_6 = keys_6\n .map(key => ({ key: key, value: (_instance.headers as any)[key] }))\n .reduce((r, v) => [...r, v], [] as any[]);\n\n _writer.writeRepeatedMessage(\n 6,\n repeated_6,\n SipStatus.HeadersEntry.serializeBinaryToWriter\n );\n }\n }\n if (_instance.description) {\n _writer.writeString(7, _instance.description);\n }\n if (_instance.exceptionName) {\n _writer.writeString(8, _instance.exceptionName);\n }\n if (_instance.exceptionTraceback) {\n _writer.writeString(9, _instance.exceptionTraceback);\n }\n if (_instance.nluSessionName) {\n _writer.writeString(10, _instance.nluSessionName);\n }\n }\n\n private _accountName: string;\n private _timestamp?: googleProtobuf001.Timestamp;\n private _statusType: SipStatus.StatusType;\n private _calleeId: string;\n private _transferCallId: string;\n private _headers: { [prop: string]: string };\n private _description: string;\n private _exceptionName: string;\n private _exceptionTraceback: string;\n private _nluSessionName: string;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipStatus to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipStatus.AsObject>) {\n _value = _value || {};\n this.accountName = _value.accountName;\n this.timestamp = _value.timestamp\n ? new googleProtobuf001.Timestamp(_value.timestamp)\n : undefined;\n this.statusType = _value.statusType;\n this.calleeId = _value.calleeId;\n this.transferCallId = _value.transferCallId;\n (this.headers = _value!.headers\n ? Object.keys(_value!.headers).reduce(\n (r, k) => ({ ...r, [k]: _value!.headers![k] }),\n {}\n )\n : {}),\n (this.description = _value.description);\n this.exceptionName = _value.exceptionName;\n this.exceptionTraceback = _value.exceptionTraceback;\n this.nluSessionName = _value.nluSessionName;\n SipStatus.refineValues(this);\n }\n get accountName(): string {\n return this._accountName;\n }\n set accountName(value: string) {\n this._accountName = value;\n }\n get timestamp(): googleProtobuf001.Timestamp | undefined {\n return this._timestamp;\n }\n set timestamp(value: googleProtobuf001.Timestamp | undefined) {\n this._timestamp = value;\n }\n get statusType(): SipStatus.StatusType {\n return this._statusType;\n }\n set statusType(value: SipStatus.StatusType) {\n this._statusType = value;\n }\n get calleeId(): string {\n return this._calleeId;\n }\n set calleeId(value: string) {\n this._calleeId = value;\n }\n get transferCallId(): string {\n return this._transferCallId;\n }\n set transferCallId(value: string) {\n this._transferCallId = value;\n }\n get headers(): { [prop: string]: string } {\n return this._headers;\n }\n set headers(value: { [prop: string]: string }) {\n this._headers = value;\n }\n get description(): string {\n return this._description;\n }\n set description(value: string) {\n this._description = value;\n }\n get exceptionName(): string {\n return this._exceptionName;\n }\n set exceptionName(value: string) {\n this._exceptionName = value;\n }\n get exceptionTraceback(): string {\n return this._exceptionTraceback;\n }\n set exceptionTraceback(value: string) {\n this._exceptionTraceback = value;\n }\n get nluSessionName(): string {\n return this._nluSessionName;\n }\n set nluSessionName(value: string) {\n this._nluSessionName = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipStatus.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipStatus.AsObject {\n return {\n accountName: this.accountName,\n timestamp: this.timestamp ? this.timestamp.toObject() : undefined,\n statusType: this.statusType,\n calleeId: this.calleeId,\n transferCallId: this.transferCallId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {},\n description: this.description,\n exceptionName: this.exceptionName,\n exceptionTraceback: this.exceptionTraceback,\n nluSessionName: this.nluSessionName\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipStatus.AsProtobufJSON {\n return {\n accountName: this.accountName,\n timestamp: this.timestamp ? this.timestamp.toProtobufJSON(options) : null,\n statusType:\n SipStatus.StatusType[\n this.statusType === null || this.statusType === undefined\n ? 0\n : this.statusType\n ],\n calleeId: this.calleeId,\n transferCallId: this.transferCallId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {},\n description: this.description,\n exceptionName: this.exceptionName,\n exceptionTraceback: this.exceptionTraceback,\n nluSessionName: this.nluSessionName\n };\n }\n}\nexport module SipStatus {\n /**\n * Standard JavaScript object representation for SipStatus\n */\n export interface AsObject {\n accountName: string;\n timestamp?: googleProtobuf001.Timestamp.AsObject;\n statusType: SipStatus.StatusType;\n calleeId: string;\n transferCallId: string;\n headers: { [prop: string]: string };\n description: string;\n exceptionName: string;\n exceptionTraceback: string;\n nluSessionName: string;\n }\n\n /**\n * Protobuf JSON representation for SipStatus\n */\n export interface AsProtobufJSON {\n accountName: string;\n timestamp: googleProtobuf001.Timestamp.AsProtobufJSON | null;\n statusType: string;\n calleeId: string;\n transferCallId: string;\n headers: { [prop: string]: string };\n description: string;\n exceptionName: string;\n exceptionTraceback: string;\n nluSessionName: string;\n }\n export enum StatusType {\n NO_SESSION = 0,\n REGISTERED = 1,\n READY = 2,\n INCOMING_CALL_INITIATED = 3,\n OUTGOING_CALL_INITIATED = 4,\n OUTGOING_CALL_CONNECTED = 5,\n INCOMING_CALL_CONNECTED = 6,\n TRANSFER_CALL_INITIATED = 7,\n SOFT_HANGUP_INITIATED = 8,\n HARD_HANGUP_INITIATED = 9,\n INCOMING_CALL_FAILED = 10,\n OUTGOING_CALL_FAILED = 11,\n INCOMING_CALL_FINISHED = 12,\n OUTGOING_CALL_FINISHED = 13,\n SESSION_REGISTRATION_FAILED = 14,\n SESSION_STARTED = 15,\n SESSION_ENDED = 16,\n TRANSFER_CALL_FAILED = 17,\n MICROPHONE_MUTED = 18,\n MICROPHONE_UNMUTED = 19,\n MICROPHONE_WAV_FILES_PLAYED = 20,\n NO_ONGOING_CALL = 21\n }\n /**\n * Message implementation for ondewo.sip.SipStatus.HeadersEntry\n */\n export class HeadersEntry implements GrpcMessage {\n static id = 'ondewo.sip.SipStatus.HeadersEntry';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new HeadersEntry();\n HeadersEntry.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: HeadersEntry) {\n _instance.key = _instance.key || '';\n _instance.value = _instance.value || '';\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: HeadersEntry,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.key = _reader.readString();\n break;\n case 2:\n _instance.value = _reader.readString();\n break;\n default:\n _reader.skipField();\n }\n }\n\n HeadersEntry.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: HeadersEntry,\n _writer: BinaryWriter\n ) {\n if (_instance.key) {\n _writer.writeString(1, _instance.key);\n }\n if (_instance.value) {\n _writer.writeString(2, _instance.value);\n }\n }\n\n private _key: string;\n private _value: string;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of HeadersEntry to deeply clone from\n */\n constructor(_value?: RecursivePartial<HeadersEntry.AsObject>) {\n _value = _value || {};\n this.key = _value.key;\n this.value = _value.value;\n HeadersEntry.refineValues(this);\n }\n get key(): string {\n return this._key;\n }\n set key(value: string) {\n this._key = value;\n }\n get value(): string {\n return this._value;\n }\n set value(value: string) {\n this._value = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n HeadersEntry.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): HeadersEntry.AsObject {\n return {\n key: this.key,\n value: this.value\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): HeadersEntry.AsProtobufJSON {\n return {\n key: this.key,\n value: this.value\n };\n }\n }\n export module HeadersEntry {\n /**\n * Standard JavaScript object representation for HeadersEntry\n */\n export interface AsObject {\n key: string;\n value: string;\n }\n\n /**\n * Protobuf JSON representation for HeadersEntry\n */\n export interface AsProtobufJSON {\n key: string;\n value: string;\n }\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipStatusHistoryResponse\n */\nexport class SipStatusHistoryResponse implements GrpcMessage {\n static id = 'ondewo.sip.SipStatusHistoryResponse';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipStatusHistoryResponse();\n SipStatusHistoryResponse.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipStatusHistoryResponse) {\n _instance.statusHistory = _instance.statusHistory || [];\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipStatusHistoryResponse,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n const messageInitializer1 = new SipStatus();\n _reader.readMessage(\n messageInitializer1,\n SipStatus.deserializeBinaryFromReader\n );\n (_instance.statusHistory = _instance.statusHistory || []).push(\n messageInitializer1\n );\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipStatusHistoryResponse.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipStatusHistoryResponse,\n _writer: BinaryWriter\n ) {\n if (_instance.statusHistory && _instance.statusHistory.length) {\n _writer.writeRepeatedMessage(\n 1,\n _instance.statusHistory as any,\n SipStatus.serializeBinaryToWriter\n );\n }\n }\n\n private _statusHistory?: SipStatus[];\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipStatusHistoryResponse to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipStatusHistoryResponse.AsObject>) {\n _value = _value || {};\n this.statusHistory = (_value.statusHistory || []).map(\n m => new SipStatus(m)\n );\n SipStatusHistoryResponse.refineValues(this);\n }\n get statusHistory(): SipStatus[] | undefined {\n return this._statusHistory;\n }\n set statusHistory(value: SipStatus[] | undefined) {\n this._statusHistory = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipStatusHistoryResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipStatusHistoryResponse.AsObject {\n return {\n statusHistory: (this.statusHistory || []).map(m => m.toObject())\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipStatusHistoryResponse.AsProtobufJSON {\n return {\n statusHistory: (this.statusHistory || []).map(m =>\n m.toProtobufJSON(options)\n )\n };\n }\n}\nexport module SipStatusHistoryResponse {\n /**\n * Standard JavaScript object representation for SipStatusHistoryResponse\n */\n export interface AsObject {\n statusHistory?: SipStatus.AsObject[];\n }\n\n /**\n * Protobuf JSON representation for SipStatusHistoryResponse\n */\n export interface AsProtobufJSON {\n statusHistory: SipStatus.AsProtobufJSON[] | null;\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipPlayWavFilesRequest\n */\nexport class SipPlayWavFilesRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipPlayWavFilesRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipPlayWavFilesRequest();\n SipPlayWavFilesRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipPlayWavFilesRequest) {\n _instance.wavFiles = _instance.wavFiles || [];\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipPlayWavFilesRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n (_instance.wavFiles = _instance.wavFiles || []).push(\n _reader.readBytes()\n );\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipPlayWavFilesRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipPlayWavFilesRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.wavFiles && _instance.wavFiles.length) {\n _writer.writeRepeatedBytes(1, _instance.wavFiles);\n }\n }\n\n private _wavFiles: Uint8Array[];\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipPlayWavFilesRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipPlayWavFilesRequest.AsObject>) {\n _value = _value || {};\n this.wavFiles = (_value.wavFiles || []).map(b =>\n b ? b.subarray(0) : new Uint8Array()\n );\n SipPlayWavFilesRequest.refineValues(this);\n }\n get wavFiles(): Uint8Array[] {\n return this._wavFiles;\n }\n set wavFiles(value: Uint8Array[]) {\n this._wavFiles = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipPlayWavFilesRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipPlayWavFilesRequest.AsObject {\n return {\n wavFiles: (this.wavFiles || []).map(b =>\n b ? b.subarray(0) : new Uint8Array()\n )\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipPlayWavFilesRequest.AsProtobufJSON {\n return {\n wavFiles: (this.wavFiles || []).map(b => (b ? uint8ArrayToBase64(b) : ''))\n };\n }\n}\nexport module SipPlayWavFilesRequest {\n /**\n * Standard JavaScript object representation for SipPlayWavFilesRequest\n */\n export interface AsObject {\n wavFiles: Uint8Array[];\n }\n\n /**\n * Protobuf JSON representation for SipPlayWavFilesRequest\n */\n export interface AsProtobufJSON {\n wavFiles: string[];\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n//\n// THIS IS A GENERATED FILE\n// DO NOT MODIFY IT! YOUR CHANGES WILL BE LOST\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport {\n GrpcCallType,\n GrpcClient,\n GrpcClientFactory,\n GrpcEvent,\n GrpcMetadata\n} from '@ngx-grpc/common';\nimport {\n GRPC_CLIENT_FACTORY,\n GrpcHandler,\n takeMessages,\n throwStatusErrors\n} from '@ngx-grpc/core';\nimport { Observable } from 'rxjs';\nimport * as thisProto from './sip.pb';\nimport * as googleProtobuf000 from '@ngx-grpc/well-known-types';\nimport * as googleProtobuf001 from '@ngx-grpc/well-known-types';\nimport { GRPC_SIP_CLIENT_SETTINGS } from './sip.pbconf';\n/**\n * Service client implementation for ondewo.sip.Sip\n */\n@Injectable({ providedIn: 'any' })\nexport class SipClient {\n private client: GrpcClient<any>;\n\n /**\n * Raw RPC implementation for each service client method.\n * The raw methods provide more control on the incoming data and events. E.g. they can be useful to read status `OK` metadata.\n * Attention: these methods do not throw errors when non-zero status codes are received.\n */\n $raw = {\n /**\n * Unary call: /ondewo.sip.Sip/SipStartSession\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipStartSession: (\n requestData: thisProto.SipStartSessionRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipStartSession',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipStartSessionRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipEndSession\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipEndSession: (\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipEndSession',\n requestData,\n requestMetadata,\n requestClass: googleProtobuf000.Empty,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipStartCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipStartCall: (\n requestData: thisProto.SipStartCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipStartCall',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipStartCallRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipEndCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipEndCall: (\n requestData: thisProto.SipEndCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipEndCall',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipEndCallRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipTransferCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipTransferCall: (\n requestData: thisProto.SipTransferCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipTransferCall',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipTransferCallRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipRegisterAccount\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipRegisterAccount: (\n requestData: thisProto.SipRegisterAccountRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipRegisterAccount',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipRegisterAccountRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipGetSipStatus\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipGetSipStatus: (\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipGetSipStatus',\n requestData,\n requestMetadata,\n requestClass: googleProtobuf000.Empty,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipGetSipStatusHistory\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatusHistoryResponse>>\n */\n sipGetSipStatusHistory: (\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatusHistoryResponse>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipGetSipStatusHistory',\n requestData,\n requestMetadata,\n requestClass: googleProtobuf000.Empty,\n responseClass: thisProto.SipStatusHistoryResponse\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipPlayWavFiles\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipPlayWavFiles: (\n requestData: thisProto.SipPlayWavFilesRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipPlayWavFiles',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipPlayWavFilesRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipMute\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipMute: (\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipMute',\n requestData,\n requestMetadata,\n requestClass: googleProtobuf000.Empty,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipUnMute\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipUnMute: (\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipUnMute',\n requestData,\n requestMetadata,\n requestClass: googleProtobuf000.Empty,\n responseClass: thisProto.SipStatus\n });\n }\n };\n\n constructor(\n @Optional() @Inject(GRPC_SIP_CLIENT_SETTINGS) settings: any,\n @Inject(GRPC_CLIENT_FACTORY) clientFactory: GrpcClientFactory<any>,\n private handler: GrpcHandler\n ) {\n this.client = clientFactory.createClient('ondewo.sip.Sip', settings);\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipStartSession\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipStartSession(\n requestData: thisProto.SipStartSessionRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipStartSession(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipEndSession\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipEndSession(\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipEndSession(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipStartCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipStartCall(\n requestData: thisProto.SipStartCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipStartCall(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipEndCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipEndCall(\n requestData: thisProto.SipEndCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipEndCall(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipTransferCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipTransferCall(\n requestData: thisProto.SipTransferCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipTransferCall(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipRegisterAccount\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipRegisterAccount(\n requestData: thisProto.SipRegisterAccountRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipRegisterAccount(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipGetSipStatus\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipGetSipStatus(\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipGetSipStatus(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipGetSipStatusHistory\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatusHistoryResponse>\n */\n sipGetSipStatusHistory(\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatusHistoryResponse> {\n return this.$raw\n .sipGetSipStatusHistory(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipPlayWavFiles\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipPlayWavFiles(\n requestData: thisProto.SipPlayWavFilesRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipPlayWavFiles(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipMute\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipMute(\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipMute(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipUnMute\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipUnMute(\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipUnMute(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["googleProtobuf001","thisProto.SipStartSessionRequest","thisProto.SipStatus","thisProto.SipStartCallRequest","thisProto.SipEndCallRequest","thisProto.SipTransferCallRequest","thisProto.SipRegisterAccountRequest","thisProto.SipStatusHistoryResponse","thisProto.SipPlayWavFilesRequest"],"mappings":"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"}
1
+ {"version":3,"file":"ondewo-sip-client-angular.mjs","sources":["../../api/ondewo/sip/sip.pb.ts","../../api/ondewo/sip/sip.pbconf.ts","../../api/ondewo/sip/sip.pbsc.ts","../../auth/token-provider.ts","../../auth/resolve-token.ts","../../auth/auth-http.interceptor.ts","../../auth/auth-grpc.interceptor.ts","../../auth/keycloak-token-provider.ts","../../auth/auth.providers.ts","../../auth/index.ts","../../ondewo-sip-client-angular.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n//\n// THIS IS A GENERATED FILE\n// DO NOT MODIFY IT! YOUR CHANGES WILL BE LOST\nimport {\n GrpcMessage,\n RecursivePartial,\n ToProtobufJSONOptions,\n uint8ArrayToBase64\n} from '@ngx-grpc/common';\nimport { BinaryReader, BinaryWriter, ByteSource } from 'google-protobuf';\nimport * as googleProtobuf000 from '@ngx-grpc/well-known-types';\nimport * as googleProtobuf001 from '@ngx-grpc/well-known-types';\n/**\n * Message implementation for ondewo.sip.SipEndCallRequest\n */\nexport class SipEndCallRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipEndCallRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipEndCallRequest();\n SipEndCallRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipEndCallRequest) {\n _instance.hardHangup = _instance.hardHangup || false;\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipEndCallRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.hardHangup = _reader.readBool();\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipEndCallRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipEndCallRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.hardHangup) {\n _writer.writeBool(1, _instance.hardHangup);\n }\n }\n\n private _hardHangup: boolean;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipEndCallRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipEndCallRequest.AsObject>) {\n _value = _value || {};\n this.hardHangup = _value.hardHangup;\n SipEndCallRequest.refineValues(this);\n }\n get hardHangup(): boolean {\n return this._hardHangup;\n }\n set hardHangup(value: boolean) {\n this._hardHangup = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipEndCallRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipEndCallRequest.AsObject {\n return {\n hardHangup: this.hardHangup\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipEndCallRequest.AsProtobufJSON {\n return {\n hardHangup: this.hardHangup\n };\n }\n}\nexport module SipEndCallRequest {\n /**\n * Standard JavaScript object representation for SipEndCallRequest\n */\n export interface AsObject {\n hardHangup: boolean;\n }\n\n /**\n * Protobuf JSON representation for SipEndCallRequest\n */\n export interface AsProtobufJSON {\n hardHangup: boolean;\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipStartCallRequest\n */\nexport class SipStartCallRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipStartCallRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipStartCallRequest();\n SipStartCallRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipStartCallRequest) {\n _instance.calleeId = _instance.calleeId || '';\n _instance.headers = _instance.headers || {};\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipStartCallRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.calleeId = _reader.readString();\n break;\n case 2:\n const msg_2 = {} as any;\n _reader.readMessage(\n msg_2,\n SipStartCallRequest.HeadersEntry.deserializeBinaryFromReader\n );\n _instance.headers = _instance.headers || {};\n _instance.headers[msg_2.key] = msg_2.value;\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipStartCallRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipStartCallRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.calleeId) {\n _writer.writeString(1, _instance.calleeId);\n }\n if (!!_instance.headers) {\n const keys_2 = Object.keys(_instance.headers as any);\n\n if (keys_2.length) {\n const repeated_2 = keys_2\n .map(key => ({ key: key, value: (_instance.headers as any)[key] }))\n .reduce((r, v) => [...r, v], [] as any[]);\n\n _writer.writeRepeatedMessage(\n 2,\n repeated_2,\n SipStartCallRequest.HeadersEntry.serializeBinaryToWriter\n );\n }\n }\n }\n\n private _calleeId: string;\n private _headers: { [prop: string]: string };\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipStartCallRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipStartCallRequest.AsObject>) {\n _value = _value || {};\n this.calleeId = _value.calleeId;\n (this.headers = _value!.headers\n ? Object.keys(_value!.headers).reduce(\n (r, k) => ({ ...r, [k]: _value!.headers![k] }),\n {}\n )\n : {}),\n SipStartCallRequest.refineValues(this);\n }\n get calleeId(): string {\n return this._calleeId;\n }\n set calleeId(value: string) {\n this._calleeId = value;\n }\n get headers(): { [prop: string]: string } {\n return this._headers;\n }\n set headers(value: { [prop: string]: string }) {\n this._headers = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipStartCallRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipStartCallRequest.AsObject {\n return {\n calleeId: this.calleeId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {}\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipStartCallRequest.AsProtobufJSON {\n return {\n calleeId: this.calleeId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {}\n };\n }\n}\nexport module SipStartCallRequest {\n /**\n * Standard JavaScript object representation for SipStartCallRequest\n */\n export interface AsObject {\n calleeId: string;\n headers: { [prop: string]: string };\n }\n\n /**\n * Protobuf JSON representation for SipStartCallRequest\n */\n export interface AsProtobufJSON {\n calleeId: string;\n headers: { [prop: string]: string };\n }\n\n /**\n * Message implementation for ondewo.sip.SipStartCallRequest.HeadersEntry\n */\n export class HeadersEntry implements GrpcMessage {\n static id = 'ondewo.sip.SipStartCallRequest.HeadersEntry';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new HeadersEntry();\n HeadersEntry.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: HeadersEntry) {\n _instance.key = _instance.key || '';\n _instance.value = _instance.value || '';\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: HeadersEntry,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.key = _reader.readString();\n break;\n case 2:\n _instance.value = _reader.readString();\n break;\n default:\n _reader.skipField();\n }\n }\n\n HeadersEntry.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: HeadersEntry,\n _writer: BinaryWriter\n ) {\n if (_instance.key) {\n _writer.writeString(1, _instance.key);\n }\n if (_instance.value) {\n _writer.writeString(2, _instance.value);\n }\n }\n\n private _key: string;\n private _value: string;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of HeadersEntry to deeply clone from\n */\n constructor(_value?: RecursivePartial<HeadersEntry.AsObject>) {\n _value = _value || {};\n this.key = _value.key;\n this.value = _value.value;\n HeadersEntry.refineValues(this);\n }\n get key(): string {\n return this._key;\n }\n set key(value: string) {\n this._key = value;\n }\n get value(): string {\n return this._value;\n }\n set value(value: string) {\n this._value = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n HeadersEntry.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): HeadersEntry.AsObject {\n return {\n key: this.key,\n value: this.value\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): HeadersEntry.AsProtobufJSON {\n return {\n key: this.key,\n value: this.value\n };\n }\n }\n export module HeadersEntry {\n /**\n * Standard JavaScript object representation for HeadersEntry\n */\n export interface AsObject {\n key: string;\n value: string;\n }\n\n /**\n * Protobuf JSON representation for HeadersEntry\n */\n export interface AsProtobufJSON {\n key: string;\n value: string;\n }\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipRegisterAccountRequest\n */\nexport class SipRegisterAccountRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipRegisterAccountRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipRegisterAccountRequest();\n SipRegisterAccountRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipRegisterAccountRequest) {\n _instance.accountName = _instance.accountName || '';\n _instance.password = _instance.password || '';\n _instance.authUsername = _instance.authUsername || '';\n _instance.outboundProxy = _instance.outboundProxy || '';\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipRegisterAccountRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.accountName = _reader.readString();\n break;\n case 2:\n _instance.password = _reader.readString();\n break;\n case 3:\n _instance.authUsername = _reader.readString();\n break;\n case 4:\n _instance.outboundProxy = _reader.readString();\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipRegisterAccountRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipRegisterAccountRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.accountName) {\n _writer.writeString(1, _instance.accountName);\n }\n if (_instance.password) {\n _writer.writeString(2, _instance.password);\n }\n if (_instance.authUsername) {\n _writer.writeString(3, _instance.authUsername);\n }\n if (_instance.outboundProxy) {\n _writer.writeString(4, _instance.outboundProxy);\n }\n }\n\n private _accountName: string;\n private _password: string;\n private _authUsername: string;\n private _outboundProxy: string;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipRegisterAccountRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipRegisterAccountRequest.AsObject>) {\n _value = _value || {};\n this.accountName = _value.accountName;\n this.password = _value.password;\n this.authUsername = _value.authUsername;\n this.outboundProxy = _value.outboundProxy;\n SipRegisterAccountRequest.refineValues(this);\n }\n get accountName(): string {\n return this._accountName;\n }\n set accountName(value: string) {\n this._accountName = value;\n }\n get password(): string {\n return this._password;\n }\n set password(value: string) {\n this._password = value;\n }\n get authUsername(): string {\n return this._authUsername;\n }\n set authUsername(value: string) {\n this._authUsername = value;\n }\n get outboundProxy(): string {\n return this._outboundProxy;\n }\n set outboundProxy(value: string) {\n this._outboundProxy = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipRegisterAccountRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipRegisterAccountRequest.AsObject {\n return {\n accountName: this.accountName,\n password: this.password,\n authUsername: this.authUsername,\n outboundProxy: this.outboundProxy\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipRegisterAccountRequest.AsProtobufJSON {\n return {\n accountName: this.accountName,\n password: this.password,\n authUsername: this.authUsername,\n outboundProxy: this.outboundProxy\n };\n }\n}\nexport module SipRegisterAccountRequest {\n /**\n * Standard JavaScript object representation for SipRegisterAccountRequest\n */\n export interface AsObject {\n accountName: string;\n password: string;\n authUsername: string;\n outboundProxy: string;\n }\n\n /**\n * Protobuf JSON representation for SipRegisterAccountRequest\n */\n export interface AsProtobufJSON {\n accountName: string;\n password: string;\n authUsername: string;\n outboundProxy: string;\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipStartSessionRequest\n */\nexport class SipStartSessionRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipStartSessionRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipStartSessionRequest();\n SipStartSessionRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipStartSessionRequest) {\n _instance.accountName = _instance.accountName || '';\n _instance.autoAnswerInterval = _instance.autoAnswerInterval || 0;\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipStartSessionRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.accountName = _reader.readString();\n break;\n case 2:\n _instance.autoAnswerInterval = _reader.readInt32();\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipStartSessionRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipStartSessionRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.accountName) {\n _writer.writeString(1, _instance.accountName);\n }\n if (_instance.autoAnswerInterval) {\n _writer.writeInt32(2, _instance.autoAnswerInterval);\n }\n }\n\n private _accountName: string;\n private _autoAnswerInterval: number;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipStartSessionRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipStartSessionRequest.AsObject>) {\n _value = _value || {};\n this.accountName = _value.accountName;\n this.autoAnswerInterval = _value.autoAnswerInterval;\n SipStartSessionRequest.refineValues(this);\n }\n get accountName(): string {\n return this._accountName;\n }\n set accountName(value: string) {\n this._accountName = value;\n }\n get autoAnswerInterval(): number {\n return this._autoAnswerInterval;\n }\n set autoAnswerInterval(value: number) {\n this._autoAnswerInterval = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipStartSessionRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipStartSessionRequest.AsObject {\n return {\n accountName: this.accountName,\n autoAnswerInterval: this.autoAnswerInterval\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipStartSessionRequest.AsProtobufJSON {\n return {\n accountName: this.accountName,\n autoAnswerInterval: this.autoAnswerInterval\n };\n }\n}\nexport module SipStartSessionRequest {\n /**\n * Standard JavaScript object representation for SipStartSessionRequest\n */\n export interface AsObject {\n accountName: string;\n autoAnswerInterval: number;\n }\n\n /**\n * Protobuf JSON representation for SipStartSessionRequest\n */\n export interface AsProtobufJSON {\n accountName: string;\n autoAnswerInterval: number;\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipTransferCallRequest\n */\nexport class SipTransferCallRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipTransferCallRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipTransferCallRequest();\n SipTransferCallRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipTransferCallRequest) {\n _instance.transferId = _instance.transferId || '';\n _instance.headers = _instance.headers || {};\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipTransferCallRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.transferId = _reader.readString();\n break;\n case 2:\n const msg_2 = {} as any;\n _reader.readMessage(\n msg_2,\n SipTransferCallRequest.HeadersEntry.deserializeBinaryFromReader\n );\n _instance.headers = _instance.headers || {};\n _instance.headers[msg_2.key] = msg_2.value;\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipTransferCallRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipTransferCallRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.transferId) {\n _writer.writeString(1, _instance.transferId);\n }\n if (!!_instance.headers) {\n const keys_2 = Object.keys(_instance.headers as any);\n\n if (keys_2.length) {\n const repeated_2 = keys_2\n .map(key => ({ key: key, value: (_instance.headers as any)[key] }))\n .reduce((r, v) => [...r, v], [] as any[]);\n\n _writer.writeRepeatedMessage(\n 2,\n repeated_2,\n SipTransferCallRequest.HeadersEntry.serializeBinaryToWriter\n );\n }\n }\n }\n\n private _transferId: string;\n private _headers: { [prop: string]: string };\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipTransferCallRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipTransferCallRequest.AsObject>) {\n _value = _value || {};\n this.transferId = _value.transferId;\n (this.headers = _value!.headers\n ? Object.keys(_value!.headers).reduce(\n (r, k) => ({ ...r, [k]: _value!.headers![k] }),\n {}\n )\n : {}),\n SipTransferCallRequest.refineValues(this);\n }\n get transferId(): string {\n return this._transferId;\n }\n set transferId(value: string) {\n this._transferId = value;\n }\n get headers(): { [prop: string]: string } {\n return this._headers;\n }\n set headers(value: { [prop: string]: string }) {\n this._headers = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipTransferCallRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipTransferCallRequest.AsObject {\n return {\n transferId: this.transferId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {}\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipTransferCallRequest.AsProtobufJSON {\n return {\n transferId: this.transferId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {}\n };\n }\n}\nexport module SipTransferCallRequest {\n /**\n * Standard JavaScript object representation for SipTransferCallRequest\n */\n export interface AsObject {\n transferId: string;\n headers: { [prop: string]: string };\n }\n\n /**\n * Protobuf JSON representation for SipTransferCallRequest\n */\n export interface AsProtobufJSON {\n transferId: string;\n headers: { [prop: string]: string };\n }\n\n /**\n * Message implementation for ondewo.sip.SipTransferCallRequest.HeadersEntry\n */\n export class HeadersEntry implements GrpcMessage {\n static id = 'ondewo.sip.SipTransferCallRequest.HeadersEntry';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new HeadersEntry();\n HeadersEntry.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: HeadersEntry) {\n _instance.key = _instance.key || '';\n _instance.value = _instance.value || '';\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: HeadersEntry,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.key = _reader.readString();\n break;\n case 2:\n _instance.value = _reader.readString();\n break;\n default:\n _reader.skipField();\n }\n }\n\n HeadersEntry.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: HeadersEntry,\n _writer: BinaryWriter\n ) {\n if (_instance.key) {\n _writer.writeString(1, _instance.key);\n }\n if (_instance.value) {\n _writer.writeString(2, _instance.value);\n }\n }\n\n private _key: string;\n private _value: string;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of HeadersEntry to deeply clone from\n */\n constructor(_value?: RecursivePartial<HeadersEntry.AsObject>) {\n _value = _value || {};\n this.key = _value.key;\n this.value = _value.value;\n HeadersEntry.refineValues(this);\n }\n get key(): string {\n return this._key;\n }\n set key(value: string) {\n this._key = value;\n }\n get value(): string {\n return this._value;\n }\n set value(value: string) {\n this._value = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n HeadersEntry.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): HeadersEntry.AsObject {\n return {\n key: this.key,\n value: this.value\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): HeadersEntry.AsProtobufJSON {\n return {\n key: this.key,\n value: this.value\n };\n }\n }\n export module HeadersEntry {\n /**\n * Standard JavaScript object representation for HeadersEntry\n */\n export interface AsObject {\n key: string;\n value: string;\n }\n\n /**\n * Protobuf JSON representation for HeadersEntry\n */\n export interface AsProtobufJSON {\n key: string;\n value: string;\n }\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipStatus\n */\nexport class SipStatus implements GrpcMessage {\n static id = 'ondewo.sip.SipStatus';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipStatus();\n SipStatus.deserializeBinaryFromReader(instance, new BinaryReader(bytes));\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipStatus) {\n _instance.accountName = _instance.accountName || '';\n _instance.timestamp = _instance.timestamp || undefined;\n _instance.statusType = _instance.statusType || 0;\n _instance.calleeId = _instance.calleeId || '';\n _instance.transferCallId = _instance.transferCallId || '';\n _instance.headers = _instance.headers || {};\n _instance.description = _instance.description || '';\n _instance.exceptionName = _instance.exceptionName || '';\n _instance.exceptionTraceback = _instance.exceptionTraceback || '';\n _instance.nluSessionName = _instance.nluSessionName || '';\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipStatus,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.accountName = _reader.readString();\n break;\n case 2:\n _instance.timestamp = new googleProtobuf001.Timestamp();\n _reader.readMessage(\n _instance.timestamp,\n googleProtobuf001.Timestamp.deserializeBinaryFromReader\n );\n break;\n case 3:\n _instance.statusType = _reader.readEnum();\n break;\n case 4:\n _instance.calleeId = _reader.readString();\n break;\n case 5:\n _instance.transferCallId = _reader.readString();\n break;\n case 6:\n const msg_6 = {} as any;\n _reader.readMessage(\n msg_6,\n SipStatus.HeadersEntry.deserializeBinaryFromReader\n );\n _instance.headers = _instance.headers || {};\n _instance.headers[msg_6.key] = msg_6.value;\n break;\n case 7:\n _instance.description = _reader.readString();\n break;\n case 8:\n _instance.exceptionName = _reader.readString();\n break;\n case 9:\n _instance.exceptionTraceback = _reader.readString();\n break;\n case 10:\n _instance.nluSessionName = _reader.readString();\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipStatus.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(_instance: SipStatus, _writer: BinaryWriter) {\n if (_instance.accountName) {\n _writer.writeString(1, _instance.accountName);\n }\n if (_instance.timestamp) {\n _writer.writeMessage(\n 2,\n _instance.timestamp as any,\n googleProtobuf001.Timestamp.serializeBinaryToWriter\n );\n }\n if (_instance.statusType) {\n _writer.writeEnum(3, _instance.statusType);\n }\n if (_instance.calleeId) {\n _writer.writeString(4, _instance.calleeId);\n }\n if (_instance.transferCallId) {\n _writer.writeString(5, _instance.transferCallId);\n }\n if (!!_instance.headers) {\n const keys_6 = Object.keys(_instance.headers as any);\n\n if (keys_6.length) {\n const repeated_6 = keys_6\n .map(key => ({ key: key, value: (_instance.headers as any)[key] }))\n .reduce((r, v) => [...r, v], [] as any[]);\n\n _writer.writeRepeatedMessage(\n 6,\n repeated_6,\n SipStatus.HeadersEntry.serializeBinaryToWriter\n );\n }\n }\n if (_instance.description) {\n _writer.writeString(7, _instance.description);\n }\n if (_instance.exceptionName) {\n _writer.writeString(8, _instance.exceptionName);\n }\n if (_instance.exceptionTraceback) {\n _writer.writeString(9, _instance.exceptionTraceback);\n }\n if (_instance.nluSessionName) {\n _writer.writeString(10, _instance.nluSessionName);\n }\n }\n\n private _accountName: string;\n private _timestamp?: googleProtobuf001.Timestamp;\n private _statusType: SipStatus.StatusType;\n private _calleeId: string;\n private _transferCallId: string;\n private _headers: { [prop: string]: string };\n private _description: string;\n private _exceptionName: string;\n private _exceptionTraceback: string;\n private _nluSessionName: string;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipStatus to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipStatus.AsObject>) {\n _value = _value || {};\n this.accountName = _value.accountName;\n this.timestamp = _value.timestamp\n ? new googleProtobuf001.Timestamp(_value.timestamp)\n : undefined;\n this.statusType = _value.statusType;\n this.calleeId = _value.calleeId;\n this.transferCallId = _value.transferCallId;\n (this.headers = _value!.headers\n ? Object.keys(_value!.headers).reduce(\n (r, k) => ({ ...r, [k]: _value!.headers![k] }),\n {}\n )\n : {}),\n (this.description = _value.description);\n this.exceptionName = _value.exceptionName;\n this.exceptionTraceback = _value.exceptionTraceback;\n this.nluSessionName = _value.nluSessionName;\n SipStatus.refineValues(this);\n }\n get accountName(): string {\n return this._accountName;\n }\n set accountName(value: string) {\n this._accountName = value;\n }\n get timestamp(): googleProtobuf001.Timestamp | undefined {\n return this._timestamp;\n }\n set timestamp(value: googleProtobuf001.Timestamp | undefined) {\n this._timestamp = value;\n }\n get statusType(): SipStatus.StatusType {\n return this._statusType;\n }\n set statusType(value: SipStatus.StatusType) {\n this._statusType = value;\n }\n get calleeId(): string {\n return this._calleeId;\n }\n set calleeId(value: string) {\n this._calleeId = value;\n }\n get transferCallId(): string {\n return this._transferCallId;\n }\n set transferCallId(value: string) {\n this._transferCallId = value;\n }\n get headers(): { [prop: string]: string } {\n return this._headers;\n }\n set headers(value: { [prop: string]: string }) {\n this._headers = value;\n }\n get description(): string {\n return this._description;\n }\n set description(value: string) {\n this._description = value;\n }\n get exceptionName(): string {\n return this._exceptionName;\n }\n set exceptionName(value: string) {\n this._exceptionName = value;\n }\n get exceptionTraceback(): string {\n return this._exceptionTraceback;\n }\n set exceptionTraceback(value: string) {\n this._exceptionTraceback = value;\n }\n get nluSessionName(): string {\n return this._nluSessionName;\n }\n set nluSessionName(value: string) {\n this._nluSessionName = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipStatus.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipStatus.AsObject {\n return {\n accountName: this.accountName,\n timestamp: this.timestamp ? this.timestamp.toObject() : undefined,\n statusType: this.statusType,\n calleeId: this.calleeId,\n transferCallId: this.transferCallId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {},\n description: this.description,\n exceptionName: this.exceptionName,\n exceptionTraceback: this.exceptionTraceback,\n nluSessionName: this.nluSessionName\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipStatus.AsProtobufJSON {\n return {\n accountName: this.accountName,\n timestamp: this.timestamp ? this.timestamp.toProtobufJSON(options) : null,\n statusType:\n SipStatus.StatusType[\n this.statusType === null || this.statusType === undefined\n ? 0\n : this.statusType\n ],\n calleeId: this.calleeId,\n transferCallId: this.transferCallId,\n headers: this.headers\n ? Object.keys(this.headers).reduce(\n (r, k) => ({ ...r, [k]: this.headers![k] }),\n {}\n )\n : {},\n description: this.description,\n exceptionName: this.exceptionName,\n exceptionTraceback: this.exceptionTraceback,\n nluSessionName: this.nluSessionName\n };\n }\n}\nexport module SipStatus {\n /**\n * Standard JavaScript object representation for SipStatus\n */\n export interface AsObject {\n accountName: string;\n timestamp?: googleProtobuf001.Timestamp.AsObject;\n statusType: SipStatus.StatusType;\n calleeId: string;\n transferCallId: string;\n headers: { [prop: string]: string };\n description: string;\n exceptionName: string;\n exceptionTraceback: string;\n nluSessionName: string;\n }\n\n /**\n * Protobuf JSON representation for SipStatus\n */\n export interface AsProtobufJSON {\n accountName: string;\n timestamp: googleProtobuf001.Timestamp.AsProtobufJSON | null;\n statusType: string;\n calleeId: string;\n transferCallId: string;\n headers: { [prop: string]: string };\n description: string;\n exceptionName: string;\n exceptionTraceback: string;\n nluSessionName: string;\n }\n export enum StatusType {\n NO_SESSION = 0,\n REGISTERED = 1,\n READY = 2,\n INCOMING_CALL_INITIATED = 3,\n OUTGOING_CALL_INITIATED = 4,\n OUTGOING_CALL_CONNECTED = 5,\n INCOMING_CALL_CONNECTED = 6,\n TRANSFER_CALL_INITIATED = 7,\n SOFT_HANGUP_INITIATED = 8,\n HARD_HANGUP_INITIATED = 9,\n INCOMING_CALL_FAILED = 10,\n OUTGOING_CALL_FAILED = 11,\n INCOMING_CALL_FINISHED = 12,\n OUTGOING_CALL_FINISHED = 13,\n SESSION_REGISTRATION_FAILED = 14,\n SESSION_STARTED = 15,\n SESSION_ENDED = 16,\n TRANSFER_CALL_FAILED = 17,\n MICROPHONE_MUTED = 18,\n MICROPHONE_UNMUTED = 19,\n MICROPHONE_WAV_FILES_PLAYED = 20,\n NO_ONGOING_CALL = 21\n }\n /**\n * Message implementation for ondewo.sip.SipStatus.HeadersEntry\n */\n export class HeadersEntry implements GrpcMessage {\n static id = 'ondewo.sip.SipStatus.HeadersEntry';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new HeadersEntry();\n HeadersEntry.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: HeadersEntry) {\n _instance.key = _instance.key || '';\n _instance.value = _instance.value || '';\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: HeadersEntry,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n _instance.key = _reader.readString();\n break;\n case 2:\n _instance.value = _reader.readString();\n break;\n default:\n _reader.skipField();\n }\n }\n\n HeadersEntry.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: HeadersEntry,\n _writer: BinaryWriter\n ) {\n if (_instance.key) {\n _writer.writeString(1, _instance.key);\n }\n if (_instance.value) {\n _writer.writeString(2, _instance.value);\n }\n }\n\n private _key: string;\n private _value: string;\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of HeadersEntry to deeply clone from\n */\n constructor(_value?: RecursivePartial<HeadersEntry.AsObject>) {\n _value = _value || {};\n this.key = _value.key;\n this.value = _value.value;\n HeadersEntry.refineValues(this);\n }\n get key(): string {\n return this._key;\n }\n set key(value: string) {\n this._key = value;\n }\n get value(): string {\n return this._value;\n }\n set value(value: string) {\n this._value = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n HeadersEntry.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): HeadersEntry.AsObject {\n return {\n key: this.key,\n value: this.value\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): HeadersEntry.AsProtobufJSON {\n return {\n key: this.key,\n value: this.value\n };\n }\n }\n export module HeadersEntry {\n /**\n * Standard JavaScript object representation for HeadersEntry\n */\n export interface AsObject {\n key: string;\n value: string;\n }\n\n /**\n * Protobuf JSON representation for HeadersEntry\n */\n export interface AsProtobufJSON {\n key: string;\n value: string;\n }\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipStatusHistoryResponse\n */\nexport class SipStatusHistoryResponse implements GrpcMessage {\n static id = 'ondewo.sip.SipStatusHistoryResponse';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipStatusHistoryResponse();\n SipStatusHistoryResponse.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipStatusHistoryResponse) {\n _instance.statusHistory = _instance.statusHistory || [];\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipStatusHistoryResponse,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n const messageInitializer1 = new SipStatus();\n _reader.readMessage(\n messageInitializer1,\n SipStatus.deserializeBinaryFromReader\n );\n (_instance.statusHistory = _instance.statusHistory || []).push(\n messageInitializer1\n );\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipStatusHistoryResponse.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipStatusHistoryResponse,\n _writer: BinaryWriter\n ) {\n if (_instance.statusHistory && _instance.statusHistory.length) {\n _writer.writeRepeatedMessage(\n 1,\n _instance.statusHistory as any,\n SipStatus.serializeBinaryToWriter\n );\n }\n }\n\n private _statusHistory?: SipStatus[];\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipStatusHistoryResponse to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipStatusHistoryResponse.AsObject>) {\n _value = _value || {};\n this.statusHistory = (_value.statusHistory || []).map(\n m => new SipStatus(m)\n );\n SipStatusHistoryResponse.refineValues(this);\n }\n get statusHistory(): SipStatus[] | undefined {\n return this._statusHistory;\n }\n set statusHistory(value: SipStatus[] | undefined) {\n this._statusHistory = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipStatusHistoryResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipStatusHistoryResponse.AsObject {\n return {\n statusHistory: (this.statusHistory || []).map(m => m.toObject())\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipStatusHistoryResponse.AsProtobufJSON {\n return {\n statusHistory: (this.statusHistory || []).map(m =>\n m.toProtobufJSON(options)\n )\n };\n }\n}\nexport module SipStatusHistoryResponse {\n /**\n * Standard JavaScript object representation for SipStatusHistoryResponse\n */\n export interface AsObject {\n statusHistory?: SipStatus.AsObject[];\n }\n\n /**\n * Protobuf JSON representation for SipStatusHistoryResponse\n */\n export interface AsProtobufJSON {\n statusHistory: SipStatus.AsProtobufJSON[] | null;\n }\n}\n\n/**\n * Message implementation for ondewo.sip.SipPlayWavFilesRequest\n */\nexport class SipPlayWavFilesRequest implements GrpcMessage {\n static id = 'ondewo.sip.SipPlayWavFilesRequest';\n\n /**\n * Deserialize binary data to message\n * @param instance message instance\n */\n static deserializeBinary(bytes: ByteSource) {\n const instance = new SipPlayWavFilesRequest();\n SipPlayWavFilesRequest.deserializeBinaryFromReader(\n instance,\n new BinaryReader(bytes)\n );\n return instance;\n }\n\n /**\n * Check all the properties and set default protobuf values if necessary\n * @param _instance message instance\n */\n static refineValues(_instance: SipPlayWavFilesRequest) {\n _instance.wavFiles = _instance.wavFiles || [];\n }\n\n /**\n * Deserializes / reads binary message into message instance using provided binary reader\n * @param _instance message instance\n * @param _reader binary reader instance\n */\n static deserializeBinaryFromReader(\n _instance: SipPlayWavFilesRequest,\n _reader: BinaryReader\n ) {\n while (_reader.nextField()) {\n if (_reader.isEndGroup()) break;\n\n switch (_reader.getFieldNumber()) {\n case 1:\n (_instance.wavFiles = _instance.wavFiles || []).push(\n _reader.readBytes()\n );\n break;\n default:\n _reader.skipField();\n }\n }\n\n SipPlayWavFilesRequest.refineValues(_instance);\n }\n\n /**\n * Serializes a message to binary format using provided binary reader\n * @param _instance message instance\n * @param _writer binary writer instance\n */\n static serializeBinaryToWriter(\n _instance: SipPlayWavFilesRequest,\n _writer: BinaryWriter\n ) {\n if (_instance.wavFiles && _instance.wavFiles.length) {\n _writer.writeRepeatedBytes(1, _instance.wavFiles);\n }\n }\n\n private _wavFiles: Uint8Array[];\n\n /**\n * Message constructor. Initializes the properties and applies default Protobuf values if necessary\n * @param _value initial values object or instance of SipPlayWavFilesRequest to deeply clone from\n */\n constructor(_value?: RecursivePartial<SipPlayWavFilesRequest.AsObject>) {\n _value = _value || {};\n this.wavFiles = (_value.wavFiles || []).map(b =>\n b ? b.subarray(0) : new Uint8Array()\n );\n SipPlayWavFilesRequest.refineValues(this);\n }\n get wavFiles(): Uint8Array[] {\n return this._wavFiles;\n }\n set wavFiles(value: Uint8Array[]) {\n this._wavFiles = value;\n }\n\n /**\n * Serialize message to binary data\n * @param instance message instance\n */\n serializeBinary() {\n const writer = new BinaryWriter();\n SipPlayWavFilesRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n }\n\n /**\n * Cast message to standard JavaScript object (all non-primitive values are deeply cloned)\n */\n toObject(): SipPlayWavFilesRequest.AsObject {\n return {\n wavFiles: (this.wavFiles || []).map(b =>\n b ? b.subarray(0) : new Uint8Array()\n )\n };\n }\n\n /**\n * Convenience method to support JSON.stringify(message), replicates the structure of toObject()\n */\n toJSON() {\n return this.toObject();\n }\n\n /**\n * Cast message to JSON using protobuf JSON notation: https://developers.google.com/protocol-buffers/docs/proto3#json\n * Attention: output differs from toObject() e.g. enums are represented as names and not as numbers, Timestamp is an ISO Date string format etc.\n * If the message itself or some of descendant messages is google.protobuf.Any, you MUST provide a message pool as options. If not, the messagePool is not required\n */\n toProtobufJSON(\n // @ts-ignore\n options?: ToProtobufJSONOptions\n ): SipPlayWavFilesRequest.AsProtobufJSON {\n return {\n wavFiles: (this.wavFiles || []).map(b => (b ? uint8ArrayToBase64(b) : ''))\n };\n }\n}\nexport module SipPlayWavFilesRequest {\n /**\n * Standard JavaScript object representation for SipPlayWavFilesRequest\n */\n export interface AsObject {\n wavFiles: Uint8Array[];\n }\n\n /**\n * Protobuf JSON representation for SipPlayWavFilesRequest\n */\n export interface AsProtobufJSON {\n wavFiles: string[];\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n//\n// THIS IS A GENERATED FILE\n// DO NOT MODIFY IT! YOUR CHANGES WILL BE LOST\nimport { InjectionToken } from '@angular/core';\n\n/**\n * Specific GrpcClientSettings for Sip.\n * Use it only if your default settings are not set or the service requires other settings.\n */\nexport const GRPC_SIP_CLIENT_SETTINGS = new InjectionToken<any>(\n 'GRPC_SIP_CLIENT_SETTINGS'\n);\n","/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n//\n// THIS IS A GENERATED FILE\n// DO NOT MODIFY IT! YOUR CHANGES WILL BE LOST\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport {\n GrpcCallType,\n GrpcClient,\n GrpcClientFactory,\n GrpcEvent,\n GrpcMetadata\n} from '@ngx-grpc/common';\nimport {\n GRPC_CLIENT_FACTORY,\n GrpcHandler,\n takeMessages,\n throwStatusErrors\n} from '@ngx-grpc/core';\nimport { Observable } from 'rxjs';\nimport * as thisProto from './sip.pb';\nimport * as googleProtobuf000 from '@ngx-grpc/well-known-types';\nimport * as googleProtobuf001 from '@ngx-grpc/well-known-types';\nimport { GRPC_SIP_CLIENT_SETTINGS } from './sip.pbconf';\n/**\n * Service client implementation for ondewo.sip.Sip\n */\n@Injectable({ providedIn: 'any' })\nexport class SipClient {\n private client: GrpcClient<any>;\n\n /**\n * Raw RPC implementation for each service client method.\n * The raw methods provide more control on the incoming data and events. E.g. they can be useful to read status `OK` metadata.\n * Attention: these methods do not throw errors when non-zero status codes are received.\n */\n $raw = {\n /**\n * Unary call: /ondewo.sip.Sip/SipStartSession\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipStartSession: (\n requestData: thisProto.SipStartSessionRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipStartSession',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipStartSessionRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipEndSession\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipEndSession: (\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipEndSession',\n requestData,\n requestMetadata,\n requestClass: googleProtobuf000.Empty,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipStartCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipStartCall: (\n requestData: thisProto.SipStartCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipStartCall',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipStartCallRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipEndCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipEndCall: (\n requestData: thisProto.SipEndCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipEndCall',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipEndCallRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipTransferCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipTransferCall: (\n requestData: thisProto.SipTransferCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipTransferCall',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipTransferCallRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipRegisterAccount\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipRegisterAccount: (\n requestData: thisProto.SipRegisterAccountRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipRegisterAccount',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipRegisterAccountRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipGetSipStatus\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipGetSipStatus: (\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipGetSipStatus',\n requestData,\n requestMetadata,\n requestClass: googleProtobuf000.Empty,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipGetSipStatusHistory\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatusHistoryResponse>>\n */\n sipGetSipStatusHistory: (\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatusHistoryResponse>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipGetSipStatusHistory',\n requestData,\n requestMetadata,\n requestClass: googleProtobuf000.Empty,\n responseClass: thisProto.SipStatusHistoryResponse\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipPlayWavFiles\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipPlayWavFiles: (\n requestData: thisProto.SipPlayWavFilesRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipPlayWavFiles',\n requestData,\n requestMetadata,\n requestClass: thisProto.SipPlayWavFilesRequest,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipMute\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipMute: (\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipMute',\n requestData,\n requestMetadata,\n requestClass: googleProtobuf000.Empty,\n responseClass: thisProto.SipStatus\n });\n },\n /**\n * Unary call: /ondewo.sip.Sip/SipUnMute\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<GrpcEvent<thisProto.SipStatus>>\n */\n sipUnMute: (\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<GrpcEvent<thisProto.SipStatus>> => {\n return this.handler.handle({\n type: GrpcCallType.unary,\n client: this.client,\n path: '/ondewo.sip.Sip/SipUnMute',\n requestData,\n requestMetadata,\n requestClass: googleProtobuf000.Empty,\n responseClass: thisProto.SipStatus\n });\n }\n };\n\n constructor(\n @Optional() @Inject(GRPC_SIP_CLIENT_SETTINGS) settings: any,\n @Inject(GRPC_CLIENT_FACTORY) clientFactory: GrpcClientFactory<any>,\n private handler: GrpcHandler\n ) {\n this.client = clientFactory.createClient('ondewo.sip.Sip', settings);\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipStartSession\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipStartSession(\n requestData: thisProto.SipStartSessionRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipStartSession(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipEndSession\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipEndSession(\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipEndSession(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipStartCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipStartCall(\n requestData: thisProto.SipStartCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipStartCall(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipEndCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipEndCall(\n requestData: thisProto.SipEndCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipEndCall(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipTransferCall\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipTransferCall(\n requestData: thisProto.SipTransferCallRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipTransferCall(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipRegisterAccount\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipRegisterAccount(\n requestData: thisProto.SipRegisterAccountRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipRegisterAccount(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipGetSipStatus\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipGetSipStatus(\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipGetSipStatus(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipGetSipStatusHistory\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatusHistoryResponse>\n */\n sipGetSipStatusHistory(\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatusHistoryResponse> {\n return this.$raw\n .sipGetSipStatusHistory(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipPlayWavFiles\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipPlayWavFiles(\n requestData: thisProto.SipPlayWavFilesRequest,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipPlayWavFiles(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipMute\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipMute(\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipMute(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n\n /**\n * Unary call @/ondewo.sip.Sip/SipUnMute\n *\n * @param requestMessage Request message\n * @param requestMetadata Request metadata\n * @returns Observable<thisProto.SipStatus>\n */\n sipUnMute(\n requestData: googleProtobuf000.Empty,\n requestMetadata = new GrpcMetadata()\n ): Observable<thisProto.SipStatus> {\n return this.$raw\n .sipUnMute(requestData, requestMetadata)\n .pipe(throwStatusErrors(), takeMessages());\n }\n}\n","import { InjectionToken } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\n\n/**\n * The set of shapes a {@link TokenProvider} is allowed to return for the current\n * access token.\n *\n * - `string` — a ready, synchronous token.\n * - `null` — there is no token right now (the user is unauthenticated). The\n * request must be sent unchanged, never with an empty `Bearer` header.\n * - `Promise<...>` / `Observable<...>` — an asynchronous source (e.g.\n * `keycloak.updateToken()` from `keycloak-js`, or `KeycloakService` from\n * `keycloak-angular`) that resolves to a token or `null`.\n */\nexport type TokenResult = string | null | Promise<string | null> | Observable<string | null>;\n\n/**\n * Contract the consuming application implements to feed the current Keycloak\n * access token into this library's auth interceptors.\n *\n * SECURITY: this client deliberately does NOT perform any OAuth/OIDC flow\n * itself — no Resource Owner Password Credentials grant, no client secret, no\n * token storage. Acquiring, refreshing and storing the token is the\n * responsibility of a dedicated, browser-safe library (`keycloak-js` /\n * `keycloak-angular`) in the host application. This client only reads the\n * current token and attaches it as a bearer credential to outgoing requests.\n *\n * Implementations should return the freshest token they have. Returning a\n * `Promise`/`Observable` lets the implementation refresh a soon-to-expire token\n * before the request is sent (e.g. `keycloak.updateToken(30)`).\n */\nexport interface TokenProvider {\n /**\n * Return the current access token, or `null` when the user is not\n * authenticated. May be synchronous or asynchronous.\n */\n getToken(): TokenResult;\n}\n\n/**\n * DI token under which the consuming application registers its\n * {@link TokenProvider} implementation.\n *\n * Example:\n *\n * ```ts\n * providers: [\n * { provide: TOKEN_PROVIDER, useExisting: KeycloakTokenProvider },\n * ]\n * ```\n */\nexport const TOKEN_PROVIDER: InjectionToken<TokenProvider> = new InjectionToken<TokenProvider>(\"ONDEWO_SIP_TOKEN_PROVIDER\");\n","import { from, isObservable, Observable, of, Subscriber, Subscription } from \"rxjs\";\nimport { TokenResult } from \"./token-provider\";\n\n/**\n * The HTTP / gRPC header under which the bearer credential is attached.\n *\n * Canonical `Authorization` casing: gRPC-web metadata keys are case-insensitive\n * and the HTTP/2 transport lower-cases header names on the wire, but the ONDEWO\n * SDKs standardize on the capitalized `Authorization` key in source.\n */\nexport const AUTHORIZATION_HEADER: string = \"Authorization\";\n\n/** The credential scheme prefix prepended to the raw access token. */\nexport const BEARER_PREFIX: string = \"Bearer \";\n\n/**\n * Normalize the value returned by a `TokenProvider.getToken()` call — which may\n * be a `string`, `null`, a `Promise` or an `Observable` — into a single\n * `Observable<string | null>` that emits exactly once.\n *\n * A non-empty token is returned trimmed; `null`, `undefined`, an empty string\n * and a whitespace-only string are all collapsed to `null` so callers have a\n * single \"no usable token\" signal and never build an empty `Bearer` header.\n *\n * @param result the raw value returned by `TokenProvider.getToken()`.\n * @returns an observable emitting the usable token, or `null` when absent.\n */\nexport function resolveToken(result: TokenResult): Observable<string | null> {\n const source: Observable<string | null> = isObservable(result)\n ? result\n : from(Promise.resolve(result));\n\n return new Observable<string | null>((subscriber: Subscriber<string | null>): (() => void) => {\n const subscription: Subscription = source.subscribe({\n next: (token: string | null): void => subscriber.next(normalizeToken(token)),\n error: (caughtError: unknown): void => subscriber.error(caughtError),\n complete: (): void => subscriber.complete()\n });\n return (): void => subscription.unsubscribe();\n });\n}\n\n/**\n * Build the `Authorization` header value for a resolved token, or `null` when\n * the token is absent.\n *\n * @param token a usable token, or `null`.\n * @returns the `\"Bearer <token>\"` string, or `null` when there is no token.\n */\nexport function buildBearerValue(token: string | null): string | null {\n return token === null ? null : `${BEARER_PREFIX}${token}`;\n}\n\n/**\n * Convenience wrapper: emit the ready-to-use `Authorization` header value, or\n * `null` when no token is available.\n *\n * @param result the raw value returned by `TokenProvider.getToken()`.\n * @returns an observable emitting the bearer header value, or `null`.\n */\nexport function resolveBearerValue(result: TokenResult): Observable<string | null> {\n return new Observable<string | null>((subscriber: Subscriber<string | null>): (() => void) => {\n const subscription: Subscription = resolveToken(result).subscribe({\n next: (token: string | null): void => subscriber.next(buildBearerValue(token)),\n error: (caughtError: unknown): void => subscriber.error(caughtError),\n complete: (): void => subscriber.complete()\n });\n return (): void => subscription.unsubscribe();\n });\n}\n\n/**\n * Collapse every \"no usable token\" value to `null` and trim a real token.\n *\n * @param token the raw token emitted by the source.\n * @returns the trimmed token, or `null` when empty / whitespace-only / absent.\n */\nfunction normalizeToken(token: string | null | undefined): string | null {\n if (token === null || token === undefined) {\n return null;\n }\n const trimmed: string = token.trim();\n return trimmed.length === 0 ? null : trimmed;\n}\n\n/**\n * Wrap a synchronous value as a single-emission observable. Used by callers that\n * want to stay in the observable world without importing `rxjs` `of` directly.\n *\n * @param value the value to emit.\n * @returns an observable emitting `value` once and completing.\n */\nexport function once<T>(value: T): Observable<T> {\n return of(value);\n}\n","import { HttpEvent, HttpHandlerFn, HttpRequest } from \"@angular/common/http\";\nimport { inject } from \"@angular/core\";\nimport { Observable, switchMap } from \"rxjs\";\nimport { AUTHORIZATION_HEADER, resolveBearerValue } from \"./resolve-token\";\nimport { TOKEN_PROVIDER, TokenProvider } from \"./token-provider\";\n\n/**\n * Functional Angular `HttpInterceptor` that attaches the current Keycloak access\n * token as an `Authorization: Bearer <token>` header to outgoing HTTP requests.\n *\n * Behaviour:\n * - token present → a cloned request carrying the bearer header is forwarded.\n * - token absent / empty → the original request is forwarded untouched (no empty\n * `Bearer` header is ever sent).\n * - token source is async (Promise/Observable) → resolved before the request is\n * sent.\n * - an existing `Authorization` header on the request is left untouched, so a\n * caller that already set credentials explicitly wins.\n *\n * Register it in the application's HTTP pipeline:\n *\n * ```ts\n * provideHttpClient(withInterceptors([authHttpInterceptor]))\n * ```\n *\n * Errors raised by the `TokenProvider` propagate to the caller (the request is\n * not sent) so an authentication failure surfaces rather than silently issuing\n * an unauthenticated request.\n *\n * @param req the outgoing HTTP request.\n * @param next the next handler in the interceptor chain.\n * @returns the stream of HTTP events for the (possibly authorized) request.\n */\nexport function authHttpInterceptor(\n req: HttpRequest<unknown>,\n next: HttpHandlerFn\n): Observable<HttpEvent<unknown>> {\n if (req.headers.has(AUTHORIZATION_HEADER)) {\n return next(req);\n }\n\n const tokenProvider: TokenProvider = inject(TOKEN_PROVIDER);\n\n return resolveBearerValue(tokenProvider.getToken()).pipe(\n switchMap((bearerValue: string | null): Observable<HttpEvent<unknown>> => {\n if (bearerValue === null) {\n return next(req);\n }\n const authorizedRequest: HttpRequest<unknown> = req.clone({\n setHeaders: { [AUTHORIZATION_HEADER]: bearerValue }\n });\n return next(authorizedRequest);\n })\n );\n}\n","import { GrpcEvent, GrpcMessage, GrpcRequest } from \"@ngx-grpc/common\";\nimport { GrpcHandler, GrpcInterceptor } from \"@ngx-grpc/core\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { Observable, switchMap } from \"rxjs\";\nimport { AUTHORIZATION_HEADER, resolveBearerValue } from \"./resolve-token\";\nimport { TOKEN_PROVIDER, TokenProvider } from \"./token-provider\";\n\n/**\n * `@ngx-grpc` interceptor that attaches the current Keycloak access token as an\n * `authorization: Bearer <token>` entry on the gRPC-web request metadata. This\n * is the gRPC-web counterpart of {@link authHttpInterceptor} and matches the\n * `@ngx-grpc` client style used by the generated `SipClient` service client\n * (`api/ondewo/sip/sip.pbsc.ts`) in this library.\n *\n * Behaviour mirrors the HTTP interceptor:\n * - token present → the bearer credential is set on `requestMetadata`.\n * - token absent / empty → the request metadata is left untouched (no empty\n * `Bearer` value is ever attached).\n * - token source is async (Promise/Observable) → resolved before the request is\n * handed to the next handler.\n * - an `authorization` entry already present on the request metadata is left\n * untouched, so an explicitly-set credential wins.\n *\n * Register it via the standard `@ngx-grpc` multi-provider:\n *\n * ```ts\n * providers: [\n * { provide: GRPC_INTERCEPTORS, useClass: AuthGrpcInterceptor, multi: true },\n * ]\n * ```\n */\n@Injectable()\nexport class AuthGrpcInterceptor implements GrpcInterceptor {\n /**\n * @param tokenProvider the application-supplied {@link TokenProvider}, injected\n * under the {@link TOKEN_PROVIDER} DI token, that yields the current access\n * token.\n */\n public constructor(@Inject(TOKEN_PROVIDER) private readonly tokenProvider: TokenProvider) {}\n\n /**\n * Attach the bearer credential (when available) to the request metadata, then\n * delegate to the next handler in the chain.\n *\n * @param request the intercepted gRPC request.\n * @param next the next handler to pass the request through.\n * @returns the stream of gRPC events for the (possibly authorized) request.\n */\n public intercept<Q extends GrpcMessage, S extends GrpcMessage>(\n request: GrpcRequest<Q, S>,\n next: GrpcHandler\n ): Observable<GrpcEvent<S>> {\n if (request.requestMetadata.has(AUTHORIZATION_HEADER)) {\n return next.handle(request);\n }\n\n return resolveBearerValue(this.tokenProvider.getToken()).pipe(\n switchMap((bearerValue: string | null): Observable<GrpcEvent<S>> => {\n if (bearerValue !== null) {\n request.requestMetadata.set(AUTHORIZATION_HEADER, bearerValue);\n }\n return next.handle(request);\n })\n );\n }\n}\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Inject, Injectable, InjectionToken, NgZone, OnDestroy, Optional } from \"@angular/core\";\nimport { firstValueFrom } from \"rxjs\";\nimport { TokenProvider, TokenResult } from \"./token-provider\";\n\n/**\n * Seconds of head-room subtracted from a token's `expires_in` so the background\n * refresh fires *before* the access token actually lapses (covers clock skew and\n * the round-trip to Keycloak). Mirrors the nodejs `REFRESH_SKEW_IN_S` and the\n * python `_EXPIRY_LEEWAY_S` references.\n */\nexport const REFRESH_SKEW_IN_S: number = 30;\n\n/**\n * Lower bound (in seconds) on the scheduled refresh delay, so a tiny or zero\n * `expires_in` cannot spin a hot refresh loop.\n */\nexport const MIN_REFRESH_DELAY_IN_S: number = 1;\n\n/**\n * Configuration the consuming application supplies to {@link KeycloakTokenProvider}.\n *\n * Provide either a long-lived offline / refresh token (`refreshToken`) — the\n * preferred headless-SDK shape, no password kept in memory — or a\n * `username` + `password` pair for a one-time Resource Owner Password Credentials\n * (ROPC) login with `scope=offline_access`. Exactly one of the two must be given.\n */\nexport interface KeycloakTokenProviderConfig {\n /**\n * Base Keycloak URL, e.g. `https://auth.example.com/auth` (a trailing slash and\n * a baked-in `/auth` path are both tolerated).\n */\n readonly keycloakUrl: string;\n /** Realm name, e.g. `ondewo-ccai-platform`. */\n readonly realm: string;\n /**\n * Public SDK client id, e.g. `ondewo-nlu-cai-sdk-public`. No `client_secret` is\n * ever sent (the SDK client is public).\n */\n readonly clientId: string;\n /**\n * A long-lived offline / refresh token used to mint access tokens directly\n * (`grant_type=refresh_token`). Mutually exclusive with `username`/`password`.\n */\n readonly refreshToken?: string;\n /**\n * Technical-user email/username for a one-time ROPC login. Requires `password`.\n * Mutually exclusive with `refreshToken`.\n */\n readonly username?: string;\n /** Technical-user password for the ROPC login. Requires `username`. */\n readonly password?: string;\n /**\n * Optional cap (in seconds since login) on how long the background refresh loop\n * runs. Once it elapses the loop stops and the access token is allowed to lapse\n * (re-login required). Omit to keep refreshing until the offline session itself\n * expires.\n */\n readonly tokenExpirationInS?: number;\n /**\n * Whether to verify the Keycloak server's TLS certificate on the\n * token-endpoint call. Defaults to `true` (secure).\n *\n * NO-OP IN THIS ANGULAR/BROWSER CLIENT. The token request is made with\n * Angular's `HttpClient` (an XHR/fetch call), and in a browser the TLS\n * handshake is owned by the user agent — there is no `https.Agent`, undici\n * dispatcher, or `rejectUnauthorized` hook that app code can reach, and\n * `HttpClient`'s request options expose no certificate-verification slot. The\n * value is therefore stored on the provider for cross-SDK config parity with\n * the Python/Node.js clients (where it does disable TLS verification) but has\n * no effect on the outgoing request here. For a self-signed local Envoy, the\n * certificate must be trusted at the browser/OS level instead.\n */\n readonly keycloakVerifySsl?: boolean;\n}\n\n/**\n * DI token under which {@link KeycloakTokenProvider} reads its\n * {@link KeycloakTokenProviderConfig}. The consuming application provides a value\n * for it (see {@link provideKeycloakTokenProvider}).\n */\nexport const KEYCLOAK_TOKEN_PROVIDER_CONFIG: InjectionToken<KeycloakTokenProviderConfig> =\n new InjectionToken<KeycloakTokenProviderConfig>(\"ONDEWO_SIP_KEYCLOAK_TOKEN_PROVIDER_CONFIG\");\n\n/** Error raised on a missing/invalid configuration or any token-endpoint failure. */\nexport class KeycloakAuthenticationError extends Error {\n /**\n * @param message a human-readable description of the configuration or token failure.\n */\n public constructor(message: string) {\n super(message);\n this.name = \"KeycloakAuthenticationError\";\n }\n}\n\n/** The fields of a Keycloak token-endpoint response this provider consumes. */\ninterface KeycloakTokenResponse {\n /** The short-lived bearer access token. */\n readonly access_token?: string;\n /** The (optionally rotated) refresh token; absent if the response carries none. */\n readonly refresh_token?: string;\n /** The access-token lifetime in seconds, as reported by Keycloak. */\n readonly expires_in?: number;\n}\n\n/**\n * Concrete, ready-to-use {@link TokenProvider} that performs the Keycloak headless\n * offline-token flow itself, so consumers get background access-token refresh\n * without implementing {@link TokenProvider}.\n *\n * On the first {@link getToken} call it logs in once against the Keycloak token\n * endpoint — either with a supplied offline / refresh token\n * (`grant_type=refresh_token`) or with a `username` + `password` ROPC grant\n * (`grant_type=password`, `scope=offline_access`) — then keeps the access token\n * fresh via a background timer that refreshes shortly *before* expiry (clamped to\n * an optional bounded deadline, mirroring the nodejs `OfflineTokenProvider` and\n * python `KeycloakTokenProvider` references). {@link getToken} returns the current\n * valid access token; the library's interceptors attach it as\n * `Authorization: Bearer <token>`.\n *\n * Register it with {@link provideKeycloakTokenProvider}, then point the SDK auth at\n * it:\n *\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideHttpClient(),\n * provideKeycloakTokenProvider({\n * keycloakUrl: \"https://auth.example.com/auth\",\n * realm: \"ondewo-ccai-platform\",\n * clientId: \"ondewo-nlu-cai-sdk-public\",\n * refreshToken: \"<offline-token>\",\n * }),\n * provideOndewoSipAuth(KeycloakTokenProvider),\n * provideHttpClient(withInterceptors([authHttpInterceptor])),\n * ],\n * });\n * ```\n */\n@Injectable({ providedIn: \"root\" })\nexport class KeycloakTokenProvider implements TokenProvider, OnDestroy {\n /** Pre-computed OIDC token endpoint URL for the configured realm. */\n private readonly tokenEndpoint: string;\n /** Public SDK client id sent on every token request (no `client_secret`). */\n private readonly clientId: string;\n /** Optional cap (seconds) after which the refresh loop stops; `undefined` means unbounded. */\n private readonly tokenExpirationInS: number | undefined;\n /**\n * Whether TLS-certificate verification is requested for the token-endpoint\n * call. Defaults to `true`. Stored for cross-SDK config parity only — it is a\n * NO-OP in this browser client (the browser owns the TLS handshake), so the\n * outgoing {@link postTokenRequest} call is unaffected by its value. See\n * {@link KeycloakTokenProviderConfig.keycloakVerifySsl}.\n */\n private readonly verifySsl: boolean;\n /** The grant parameters for the one-time login, derived from the config. */\n private readonly loginRequest: Record<string, string>;\n\n /** The current access token, or `null` before the first login / after the bounded loop lapses. */\n private accessToken: string | null = null;\n /** The current refresh token, or `null` before any login completes. */\n private refreshToken: string | null = null;\n /** Handle of the armed refresh timer, or `null` when no refresh is scheduled. */\n private timer: ReturnType<typeof setTimeout> | null = null;\n /** Whether {@link ngOnDestroy} has run; suppresses any further (re-)scheduling. */\n private stopped: boolean = false;\n /** Absolute epoch-ms deadline for the bounded loop, or `null` when unbounded. */\n private deadlineInMs: number | null = null;\n /** The in-flight (or settled) one-time login promise; ensures login happens exactly once. */\n private loginPromise: Promise<void> | null = null;\n\n /**\n * @param http the Angular {@link HttpClient} used for the token-endpoint calls.\n * @param zone the {@link NgZone}; the background timer is armed outside Angular so it\n * does not keep change detection / zone stability churning between refreshes.\n * @param config the {@link KeycloakTokenProviderConfig}, injected under\n * {@link KEYCLOAK_TOKEN_PROVIDER_CONFIG}.\n */\n public constructor(\n private readonly http: HttpClient,\n private readonly zone: NgZone,\n @Optional() @Inject(KEYCLOAK_TOKEN_PROVIDER_CONFIG) config: KeycloakTokenProviderConfig | null\n ) {\n if (config === null) {\n throw new KeycloakAuthenticationError(\n \"KeycloakTokenProvider requires a KEYCLOAK_TOKEN_PROVIDER_CONFIG value; \" +\n \"register it with provideKeycloakTokenProvider({ ... })\"\n );\n }\n this.loginRequest = this.validateAndBuildLoginRequest(config);\n this.tokenEndpoint = KeycloakTokenProvider.buildTokenEndpoint(config.keycloakUrl, config.realm);\n this.clientId = config.clientId;\n this.tokenExpirationInS = config.tokenExpirationInS;\n // Stored for cross-SDK config parity; a no-op on the browser transport (see field doc).\n this.verifySsl = config.keycloakVerifySsl ?? true;\n if (config.refreshToken !== undefined) {\n this.refreshToken = config.refreshToken;\n }\n }\n\n /**\n * Return the current access token, logging in on the first call.\n *\n * The first invocation returns a `Promise` that resolves once the one-time login\n * has completed and the background refresh is armed. Subsequent invocations\n * return the synchronously-held current access token (or `null` if the bounded\n * loop has lapsed), so interceptors pay no async cost on the hot path.\n *\n * @returns the current access token as a {@link TokenResult}.\n */\n public getToken(): TokenResult {\n if (this.loginPromise === null) {\n this.loginPromise = this.bootstrap();\n }\n if (this.accessToken !== null) {\n return this.accessToken;\n }\n return this.loginPromise.then((): string | null => this.accessToken);\n }\n\n /**\n * The resolved TLS-verification setting from\n * {@link KeycloakTokenProviderConfig.keycloakVerifySsl} (defaults to `true`).\n *\n * Exposed for cross-SDK config parity and introspection only. It is a NO-OP in\n * this browser client — the browser owns the TLS handshake, so the value never\n * reaches {@link postTokenRequest} and does not change the outgoing request.\n *\n * @returns `true` when TLS verification is requested (the default), `false`\n * when the config explicitly opted out (still inert here).\n */\n public get keycloakVerifySsl(): boolean {\n return this.verifySsl;\n }\n\n /** Stop the background refresh loop when the provider is torn down. Idempotent. */\n public ngOnDestroy(): void {\n this.stopped = true;\n if (this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n /**\n * Perform the one-time login (offline-token or ROPC) and arm the first refresh.\n *\n * @returns a promise that resolves once the first token is stored and the refresh is armed.\n * @throws {@link KeycloakAuthenticationError} if the token endpoint fails or returns no\n * `access_token` / `refresh_token`.\n */\n private async bootstrap(): Promise<void> {\n const response: KeycloakTokenResponse = await this.postTokenRequest(this.loginRequest);\n this.storeTokens(response);\n if (this.refreshToken === null) {\n throw new KeycloakAuthenticationError(\n \"Keycloak token response did not contain a refresh_token; the SDK client must have \" +\n \"directAccessGrants + the offline_access scope (e.g. ondewo-nlu-cai-sdk-public)\"\n );\n }\n if (this.tokenExpirationInS !== undefined) {\n this.deadlineInMs = Date.now() + (this.tokenExpirationInS * 1000);\n }\n this.scheduleRefresh(response.expires_in);\n }\n\n /**\n * Exchange the refresh token for a fresh access token and re-arm the next refresh.\n *\n * Stops the loop (instead of refreshing) once the bounded deadline has elapsed,\n * letting the access token lapse. If the provider was torn down while this refresh's\n * request was in flight, {@link scheduleRefresh} declines to arm the next timer.\n *\n * @returns a promise that resolves once the token is refreshed and the next refresh is armed.\n * @throws {@link KeycloakAuthenticationError} if the refresh call fails or returns no `access_token`.\n */\n private async refresh(): Promise<void> {\n if (this.deadlineInMs !== null && Date.now() >= this.deadlineInMs) {\n this.ngOnDestroy();\n return;\n }\n const response: KeycloakTokenResponse = await this.postTokenRequest({\n grant_type: \"refresh_token\",\n client_id: this.clientId,\n // refreshToken is non-null here (bootstrap stored it before arming any refresh), but TS keeps\n // the field's `string | null` type across the async boundary, so the assertion is required.\n /* eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- required under the build tsconfig */\n refresh_token: this.refreshToken as string\n });\n this.storeTokens(response);\n this.scheduleRefresh(response.expires_in);\n }\n\n /**\n * Arm a single timer for the next refresh, clamped to the bounded deadline.\n *\n * The delay is `expiresInRaw` minus {@link REFRESH_SKEW_IN_S}, floored at\n * {@link MIN_REFRESH_DELAY_IN_S}, then clamped to the time remaining before the\n * deadline. Stops silently once `tokenExpirationInS` has elapsed.\n *\n * @param expiresInRaw the `expires_in` (seconds) from the latest token response; a missing\n * or non-positive value falls back to {@link MIN_REFRESH_DELAY_IN_S}.\n */\n private scheduleRefresh(expiresInRaw: number | undefined): void {\n if (this.stopped) {\n return;\n }\n const expiresInS: number =\n typeof expiresInRaw === \"number\" && expiresInRaw > 0 ? expiresInRaw : MIN_REFRESH_DELAY_IN_S;\n let delayInS: number = Math.max(expiresInS - REFRESH_SKEW_IN_S, MIN_REFRESH_DELAY_IN_S);\n\n if (this.deadlineInMs !== null) {\n const remainingInMs: number = this.deadlineInMs - Date.now();\n if (remainingInMs <= 0) {\n this.ngOnDestroy();\n return;\n }\n delayInS = Math.min(delayInS, remainingInMs / 1000);\n }\n\n // Arm outside Angular so the recurring timer does not keep the zone unstable.\n this.zone.runOutsideAngular((): void => {\n this.timer = setTimeout((): void => {\n void this.refresh();\n }, delayInS * 1000);\n });\n }\n\n /**\n * POST a form-encoded body to the token endpoint and return the parsed JSON.\n *\n * @param params the form fields to URL-encode (grant type, client id, credentials).\n * @returns the parsed {@link KeycloakTokenResponse}.\n * @throws {@link KeycloakAuthenticationError} on a transport error.\n */\n private async postTokenRequest(params: Record<string, string>): Promise<KeycloakTokenResponse> {\n const body: string = new URLSearchParams(params).toString();\n const headers: HttpHeaders = new HttpHeaders({\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n Accept: \"application/json\"\n });\n try {\n return await firstValueFrom(\n this.http.post<KeycloakTokenResponse>(this.tokenEndpoint, body, { headers })\n );\n } catch (caughtError: unknown) {\n throw new KeycloakAuthenticationError(\n `Keycloak token endpoint request failed: ${KeycloakTokenProvider.describeError(caughtError)}`\n );\n }\n }\n\n /**\n * Store the access token (and any rotated refresh token) from a token response.\n *\n * Keycloak may omit the refresh token on a same-token refresh; the previous one is\n * kept in that case so it is never blanked out.\n *\n * @param response the parsed token-endpoint response.\n * @throws {@link KeycloakAuthenticationError} if the response carries no `access_token`.\n */\n private storeTokens(response: KeycloakTokenResponse): void {\n if (typeof response.access_token !== \"string\" || response.access_token.length === 0) {\n throw new KeycloakAuthenticationError(\"Keycloak token response did not contain an access_token\");\n }\n this.accessToken = response.access_token;\n if (typeof response.refresh_token === \"string\" && response.refresh_token.length > 0) {\n this.refreshToken = response.refresh_token;\n }\n }\n\n /**\n * Validate the config and build the one-time login grant parameters in a single pass.\n *\n * Validating and building together lets the credential checks narrow the optional\n * `username` / `password` fields to `string` for the request shape, so no type\n * assertion or unreachable guard is needed.\n *\n * @param config the {@link KeycloakTokenProviderConfig} to validate.\n * @returns the form parameters for the offline-token (`grant_type=refresh_token`) or\n * ROPC (`grant_type=password`) login.\n * @throws {@link KeycloakAuthenticationError} on a missing base field or an invalid\n * credential combination (neither, or both, credential shapes supplied).\n */\n private validateAndBuildLoginRequest(config: KeycloakTokenProviderConfig): Record<string, string> {\n for (const key of [\"keycloakUrl\", \"realm\", \"clientId\"] as const) {\n if (typeof config[key] !== \"string\" || config[key].length === 0) {\n throw new KeycloakAuthenticationError(\n `KeycloakTokenProviderConfig.${key} is required and must be a non-empty string`\n );\n }\n }\n const refreshToken: string | undefined = config.refreshToken;\n const username: string | undefined = config.username;\n const password: string | undefined = config.password;\n const hasRefreshToken: boolean = typeof refreshToken === \"string\" && refreshToken.length > 0;\n const hasCredentials: boolean =\n typeof username === \"string\" && username.length > 0 && typeof password === \"string\" && password.length > 0;\n if (hasRefreshToken === hasCredentials) {\n throw new KeycloakAuthenticationError(\n \"KeycloakTokenProviderConfig requires exactly one of: a non-empty refreshToken, \" +\n \"or a non-empty username + password pair\"\n );\n }\n\n if (refreshToken !== undefined && refreshToken.length > 0) {\n return {\n grant_type: \"refresh_token\",\n client_id: config.clientId,\n refresh_token: refreshToken\n };\n }\n // hasCredentials === !hasRefreshToken here guarantees both are non-empty strings, but TS does\n // not propagate that from the boolean above; the assertions narrow them for the request shape.\n return {\n grant_type: \"password\",\n client_id: config.clientId,\n /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion -- required under the build tsconfig */\n username: username as string,\n password: password as string,\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion */\n scope: \"offline_access\"\n };\n }\n\n /**\n * Build the OIDC token endpoint URL for a realm, tolerating a trailing slash.\n *\n * @param keycloakUrl the base Keycloak URL (trailing slashes are stripped).\n * @param realm the realm name; URL-encoded into the path.\n * @returns the fully-qualified `.../protocol/openid-connect/token` endpoint URL.\n */\n private static buildTokenEndpoint(keycloakUrl: string, realm: string): string {\n const base: string = keycloakUrl.replace(/\\/+$/, \"\");\n return `${base}/realms/${encodeURIComponent(realm)}/protocol/openid-connect/token`;\n }\n\n /**\n * Render an arbitrary thrown value into a short message for error wrapping.\n *\n * @param caughtError the value thrown by the failing token call.\n * @returns the error's `message` when it is an `Error`, otherwise its string form.\n */\n private static describeError(caughtError: unknown): string {\n if (caughtError instanceof Error) {\n return caughtError.message;\n }\n return typeof caughtError === \"string\" ? caughtError : JSON.stringify(caughtError);\n }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders, Provider, Type } from \"@angular/core\";\nimport { GRPC_INTERCEPTORS } from \"@ngx-grpc/core\";\nimport { AuthGrpcInterceptor } from \"./auth-grpc.interceptor\";\nimport { KEYCLOAK_TOKEN_PROVIDER_CONFIG, KeycloakTokenProviderConfig } from \"./keycloak-token-provider\";\nimport { TOKEN_PROVIDER, TokenProvider } from \"./token-provider\";\n\n/**\n * Wire a consuming application's {@link TokenProvider} implementation into this\n * library and register the `@ngx-grpc` {@link AuthGrpcInterceptor} that uses it.\n *\n * This covers the gRPC-web side. For HTTP requests, additionally register the\n * functional `authHttpInterceptor`:\n *\n * ```ts\n * provideHttpClient(withInterceptors([authHttpInterceptor]))\n * ```\n *\n * Usage in an application's `providers` (standalone bootstrap or `AppModule`):\n *\n * ```ts\n * import { provideOndewoSipAuth } from \"@ondewo/sip-client-angular\";\n *\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideOndewoSipAuth(KeycloakTokenProvider),\n * provideHttpClient(withInterceptors([authHttpInterceptor])),\n * ],\n * });\n * ```\n *\n * @param tokenProvider the application's `TokenProvider` class (e.g. one that\n * wraps `keycloak-js` / `keycloak-angular`).\n * @returns environment providers binding the token provider and the gRPC\n * interceptor.\n */\nexport function provideOndewoSipAuth(tokenProvider: Type<TokenProvider>): EnvironmentProviders {\n const providers: Provider[] = [\n tokenProvider,\n { provide: TOKEN_PROVIDER, useExisting: tokenProvider },\n { provide: GRPC_INTERCEPTORS, useClass: AuthGrpcInterceptor, multi: true }\n ];\n return makeEnvironmentProviders(providers);\n}\n\n/**\n * Register the configuration the built-in `KeycloakTokenProvider` reads.\n *\n * Pair it with `provideOndewoSipAuth(KeycloakTokenProvider)` (and `provideHttpClient()`)\n * so consumers get background access-token refresh without implementing\n * {@link TokenProvider} themselves:\n *\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideHttpClient(withInterceptors([authHttpInterceptor])),\n * provideKeycloakTokenProvider({\n * keycloakUrl: \"https://auth.example.com/auth\",\n * realm: \"ondewo-ccai-platform\",\n * clientId: \"ondewo-nlu-cai-sdk-public\",\n * refreshToken: \"<offline-token>\",\n * }),\n * provideOndewoSipAuth(KeycloakTokenProvider),\n * ],\n * });\n * ```\n *\n * @param config the {@link KeycloakTokenProviderConfig} the provider logs in with.\n * @returns environment providers binding the config under {@link KEYCLOAK_TOKEN_PROVIDER_CONFIG}.\n */\nexport function provideKeycloakTokenProvider(config: KeycloakTokenProviderConfig): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: KEYCLOAK_TOKEN_PROVIDER_CONFIG, useValue: config }]);\n}\n","/**\n * Public auth surface for `@ondewo/sip-client-angular`.\n *\n * The consuming application supplies the current Keycloak access token through a\n * {@link TokenProvider} (fed from `keycloak-js` / `keycloak-angular`); this\n * library attaches it as an `Authorization: Bearer <token>` credential to\n * outgoing gRPC-web and HTTP requests. No OAuth/OIDC flow is performed here.\n */\nexport { TOKEN_PROVIDER, TokenProvider, TokenResult } from \"./token-provider\";\nexport {\n AUTHORIZATION_HEADER,\n BEARER_PREFIX,\n buildBearerValue,\n resolveBearerValue,\n resolveToken\n} from \"./resolve-token\";\nexport { authHttpInterceptor } from \"./auth-http.interceptor\";\nexport { AuthGrpcInterceptor } from \"./auth-grpc.interceptor\";\nexport { provideKeycloakTokenProvider, provideOndewoSipAuth } from \"./auth.providers\";\nexport {\n KEYCLOAK_TOKEN_PROVIDER_CONFIG,\n KeycloakAuthenticationError,\n KeycloakTokenProvider,\n KeycloakTokenProviderConfig,\n MIN_REFRESH_DELAY_IN_S,\n REFRESH_SKEW_IN_S\n} from \"./keycloak-token-provider\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["googleProtobuf001","thisProto.SipStartSessionRequest","thisProto.SipStatus","thisProto.SipStartCallRequest","thisProto.SipEndCallRequest","thisProto.SipTransferCallRequest","thisProto.SipRegisterAccountRequest","thisProto.SipStatusHistoryResponse","thisProto.SipPlayWavFilesRequest"],"mappings":"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"}