From 90b6c774036c40ba85a36323db99cabac6e4fd78 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 4 Nov 2015 00:56:46 +0100 Subject: pbxType --- src/escape.erl | 30 +++++++++++++++++++++++------- src/tapi.erl | 5 ++++- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/escape.erl b/src/escape.erl index 11f2a6c..63acdb1 100644 --- a/src/escape.erl +++ b/src/escape.erl @@ -1,7 +1,8 @@ -module(escape). -export([decode/1, lines/1]). --export([privateData/1, deviceData/1]). +-export([privateData/1, deviceData/1, deviceBasic/1, + pbxType/0, pbxType/1]). -include("CSTA-escape-service.hrl"). -include("CSTA-device-identifiers.hrl"). @@ -12,9 +13,8 @@ decode(Data) -> lines(Device) -> 'CSTA-escape-service':encode('EscapeArgument', #'EscapeArgument'{ - privateData = {private, - {kmeSystemData, {getSystemData, {request, {deviceList, - {category, {standardDevice, Device}}}}}}}}). + privateData = {private, {kmeSystemData, {getSystemData, {request, + {deviceList, {category, {standardDevice, Device}}}}}}}}). privateData({ok, #'EscapeArgument'{privateData = Data}}) -> Private = private(Data), @@ -31,7 +31,23 @@ private({systemDataLinkedReply, #'KmeSystemDataLinkedReply'{lastSegment = true, deviceData(Device) -> 'CSTA-escape-service':encode('EscapeArgument', #'EscapeArgument'{ - privateData = {private, {kmeSystemData, {getSystemData, - {request, {deviceData, #'KmeGetSystemDataReq_deviceData'{ + privateData = {private, {kmeSystemData, {getSystemData, {request, + {deviceData, #'KmeGetSystemDataReq_deviceData'{ device = #'DeviceID'{deviceIdentifier = Device}, - sysData = {fcoKey, 'NULL'} }}}}}}}). + sysData = {fcoKey, []}}}}}}}}). + +deviceBasic(Device) -> + 'CSTA-escape-service':encode('EscapeArgument', #'EscapeArgument'{ + privateData = {private, {kmeSystemData, {systemDataChanged, + {deviceBasicInfo, #'DeviceID'{deviceIdentifier = Device}}}}}}). + +pbxType() -> + 'CSTA-escape-service':encode('EscapeArgument', #'EscapeArgument'{ + privateData = {private, {kmeSystemData, {getSystemData, {request, + {systemData, pbxType}}}}}}). + +pbxType(Type) -> + proplists:get_value(Type, [{0, tda100}, {1, tda200}, {2, tda30}, + {3, tda50}, {5, tda15}, {6, tda600}, + {7, tde100}, {8, tde200}, {9, tde600}, + {10, ncp500}, {11, ncp1000}, {12, ncp3000}]). diff --git a/src/tapi.erl b/src/tapi.erl index 570368f..c9ff2b1 100644 --- a/src/tapi.erl +++ b/src/tapi.erl @@ -7,7 +7,7 @@ terminate/2, code_change/3]). -export([send/1, ext/0, co/0, snapshot/1, monitor/1, button/1, - dial/2, fco/1]). + dial/2, fco/1, type/0]). -include("config.hrl"). -include("opcodes.hrl"). @@ -79,3 +79,6 @@ dial(From, To) -> fco(Device) -> gen_server:cast(?SERVER, rose:invoke(?ESCAPE, escape:deviceData({dialingNumber, Device}))). + +type() -> + gen_server:cast(?SERVER, rose:invoke(?ESCAPE, escape:pbxType())). -- cgit v1.2.3