summaryrefslogtreecommitdiff
path: root/src/pbx_api.erl
blob: 23c3a6eee143a48f688053c4ebc5651e3c5379ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
-module(pbx_api).
-define(CONN, pbx_conn).
-include("opcodes.hrl").

-export([send/1, ext/0, co/0, snapshot/1, monitor/1, button/1,
	 dial/2, fco/1, type/0]).

ext() ->
	gen_server:cast(?CONN, pbx_rose:invoke(?ESCAPE,
		pbx_escape:lines(station))).

co() ->
	gen_server:cast(?CONN, pbx_rose:invoke(?ESCAPE,
		pbx_escape:lines(networkInterface))).

send(Reply) ->
	gen_server:cast(?CONN, Reply).

snapshot(Device) ->
	gen_server:cast(?CONN, pbx_rose:invoke(?SNAPSHOT,
		pbx_snapshot:encode({dialingNumber, Device}))).

button(Device) ->
	gen_server:cast(?CONN, pbx_rose:invoke(?BUTTON,
		pbx_button:encode({dialingNumber, Device}))).

monitor(Device) ->
	gen_server:cast(?CONN, pbx_rose:invoke(?MONITOR,
		pbx_monitor:encode({dialingNumber, Device}))).

dial(From, To) ->
	gen_server:cast(?CONN, pbx_rose:invoke(?MAKECALL,
		pbx_dial:encode({dialingNumber, From}, {dialingNumber, To}))).

fco(Device) ->
	gen_server:cast(?CONN, pbx_rose:invoke(?ESCAPE,
		pbx_escape:deviceData({dialingNumber, Device}))).

type() ->
	gen_server:cast(?CONN, pbx_rose:invoke(?ESCAPE, pbx_escape:pbxType())).