import { NativeModules } from 'react-native'; const PBX = NativeModules.PBX; const Telephony = NativeModules.Telephony; class PBXService { public startCall(phoneNumber: string): void { PBX.startCall(phoneNumber); } public switchNomadic( isNomadicEnabled: boolean, isVoipEnabled: boolean, nomadicType: string ): void { Telephony.switchNomadic(isNomadicEnabled, isVoipEnabled, nomadicType); } public holdCall(callId: string): void { PBX.holdCall(callId); } public retrieveCall(callId: string): void { PBX.retrieveCall(callId); } public forwardCallToVoiceMail(sessionId: string): void { PBX.forwardCallToVoiceMail(sessionId); } public redirectCallsToVoiceMail(): void { Telephony.redirectCallsToVoiceMail(); } public cancelCallForward(): void { Telephony.cancelCallForward(); } public forwardCallsToPhoneNumber(phoneNumber: string): void { Telephony.forwardCallsToPhoneNumber(phoneNumber); } public forwardToPersonalMobile(): void { Telephony.forwardToPersonalMobile(); } public forwardToPersonalPhone(): void { Telephony.forwardToPersonalPhone(); } public unregisterForwardStatusChangeListener(): void { Telephony.unregisterForwardStatusChangeListener(); } public unregisterNomadicStatusChangeListener(): void { Telephony.unregisterNomadicStatusChangeListener(); } public getCurrentForwardStatus() { Telephony.getForwardStatus(); } public getForwardAvailableOptions() { Telephony.getForwardOptions(); } public checkTelephonyCapabilities() { Telephony.checkTelephonyCapabilities(); } public endCall(callId: string) { PBX.endCall(callId); } public takeCall(callId: string) { PBX.takeCall(callId); } public alternateCalls(activeSessionId: string, heldSessionId: string) { PBX.alternateCalls(activeSessionId, heldSessionId); } public TransferCall(outgoingSessionId: string, heldSessionId: string) { PBX.transferCall(outgoingSessionId, heldSessionId); } public getNomadicNumber() { Telephony.getNomadicNumber(); } public setNomadicNumber(nomadicNumber: string) { Telephony.setNomadicNumber(nomadicNumber); } public switchVoip(voipEnabled: boolean) { Telephony.switchVoip(voipEnabled); } public rejectCall() { PBX.rejectCall(); } public makeConferenceCall(activeSessionId: string, heldSessionId: string) { PBX.makeConferenceCall(activeSessionId, heldSessionId); } public getTelephonyStatus() { Telephony.getTelephonyStatus(); } } export const pbxService = new PBXService();