blob: d1ea05afdf3deefb00f81f63bda5c28624848e61 [file] [log] [blame]
Adrien BĂ©raud04d822c2015-04-02 17:44:36 -04001package cx.ring.service;
2
3import cx.ring.model.SipCall;
4import cx.ring.model.Conference;
5import cx.ring.model.SipMessage;
6
7interface ISipService {
8
9 Map getCallDetails(in String callID);
10 void placeCall(in SipCall call);
11 void refuse(in String callID);
12 void accept(in String callID);
13 void hangUp(in String callID);
14 void hold(in String callID);
15 void unhold(in String callID);
16
17 List getAccountList();
18 String addAccount(in Map accountDetails);
19 void removeAccount(in String accoundId);
20 void setAccountOrder(in String order);
21 Map getAccountDetails(in String accountID);
22 Map getAccountTemplate();
23 void registerAllAccounts();
24 void setAccountDetails(in String accountId, in Map accountDetails);
25 List getCredentials(in String accountID);
26 void setCredentials(in String accountID, in List creds);
27 void setAudioPlugin(in String callID);
28 String getCurrentAudioOutputPlugin();
29 List getAudioCodecList(in String accountID);
30 void setActiveCodecList(in List codecs, in String accountID);
31 Map getRingtoneList();
32
33 boolean checkForPrivateKey(in String pemPath);
34 boolean checkCertificateValidity(in String pemPath);
35 boolean checkHostnameCertificate(in String certificatePath, in String host, in String port);
36
37
38 // FIXME
39 void toggleSpeakerPhone(in boolean toggle);
40
41 /* Recording */
42 void setRecordPath(in String path);
43 String getRecordPath();
44 boolean toggleRecordingCall(in String id);
45 boolean startRecordedFilePlayback(in String filepath);
46 void stopRecordedFilePlayback(in String filepath);
47
48 /* Mute */
49 void setMuted(boolean mute);
50 boolean isCaptureMuted();
51
52 /* Security */
53 void confirmSAS(in String callID);
54 List getTlsSupportedMethods();
55
56 /* DTMF */
57 void playDtmf(in String key);
58
59 /* IM */
60 void sendTextMessage(in String callID, in SipMessage message);
61
62 void transfer(in String callID, in String to);
63 void attendedTransfer(in String transferID, in String targetID);
64
65 /* Conference related methods */
66
67 void removeConference(in String confID);
68 void joinParticipant(in String sel_callID, in String drag_callID);
69
70 void addParticipant(in SipCall call, in String confID);
71 void addMainParticipant(in String confID);
72 void detachParticipant(in String callID);
73 void joinConference(in String sel_confID, in String drag_confID);
74 void hangUpConference(in String confID);
75 void holdConference(in String confID);
76 void unholdConference(in String confID);
77 boolean isConferenceParticipant(in String callID);
78 Map getConferenceList();
79 List getParticipantList(in String confID);
80 String getConferenceId(in String callID);
81 String getConferenceDetails(in String callID);
82
83 Conference getCurrentCall();
84 List getConcurrentCalls();
85
86 Conference getConference(in String id);
87
88}