blob: 3a6cb3c91d2fb7771bad306cd70323ab89fd27d8 [file] [log] [blame]
Emeric Vigier6119d782012-09-21 18:04:14 -04001package com.savoirfairelinux.sflphone.service;
2
alisionfde875f2013-05-28 17:01:54 -04003import com.savoirfairelinux.sflphone.model.SipCall;
alision5f899632013-04-22 17:26:56 -04004
Emeric Vigier6119d782012-09-21 18:04:14 -04005interface ISipService {
alisionfde875f2013-05-28 17:01:54 -04006 /*void placeCall(String accountID, in String callID, in String to);*/
7 void placeCall(in SipCall call);
Emeric Vigier6119d782012-09-21 18:04:14 -04008 void refuse(in String callID);
9 void accept(in String callID);
10 void hangUp(in String callID);
Alexandre Savarde9dc8992012-10-26 12:12:27 -040011 void hold(in String callID);
12 void unhold(in String callID);
alision7f18fc82013-05-01 09:37:33 -040013
Alexandre Savard6b85e7e2012-09-27 15:43:14 -040014 List getAccountList();
Alexandre Savard46036572012-10-05 13:56:49 -040015 String addAccount(in Map accountDetails);
16 void removeAccount(in String accoundId);
Alexandre Savard713a34d2012-09-26 15:50:41 -040017 Map getAccountDetails(in String accountID);
Alexandre Savard8b7d4332012-09-30 20:02:11 -040018 void setAccountDetails(in String accountId, in Map accountDetails);
Alexandre Savard6b85e7e2012-09-27 15:43:14 -040019 void setAudioPlugin(in String callID);
Alexandre Savard31d27c62012-10-04 16:05:08 -040020 String getCurrentAudioOutputPlugin();
alisiond295ec22013-05-17 10:12:13 -040021 List getAudioCodecList(in String accountID);
alision04a00182013-05-10 17:05:29 -040022
23 /* History */
alisione2a38e12013-04-25 14:20:20 -040024 List getHistory();
alision7f18fc82013-05-01 09:37:33 -040025
alision2cb99562013-05-30 17:02:20 -040026 /* Notification */
27 void createNotification();
28 void destroyNotification();
29
30
alision04a00182013-05-10 17:05:29 -040031 /* Recording */
32 void setRecordPath(in String path);
33 String getRecordPath();
34 void setRecordingCall(in String id);
alision50fa0722013-06-25 17:29:44 -040035 boolean startRecordedFilePlayback(in String filepath);
36 void stopRecordedFilePlayback(in String filepath);
alision04a00182013-05-10 17:05:29 -040037
38 /* IM */
39 void sendTextMessage(in String callID, in String message, in String from);
alision84813a12013-05-27 17:40:39 -040040
alision7f18fc82013-05-01 09:37:33 -040041 void transfer(in String callID, in String to);
42 void attendedTransfer(in String transferID, in String targetID);
43
alision43a9b362013-05-01 16:30:15 -040044 /* Conference related methods */
alision907bde72013-06-20 14:40:37 -040045
alision43a9b362013-05-01 16:30:15 -040046 void removeConference(in String confID);
alision7f18fc82013-05-01 09:37:33 -040047 void joinParticipant(in String sel_callID, in String drag_callID);
alision907bde72013-06-20 14:40:37 -040048
alision806e18e2013-06-21 15:30:17 -040049 void addParticipant(in SipCall call, in String confID);
alision7f18fc82013-05-01 09:37:33 -040050 void addMainParticipant(in String confID);
51 void detachParticipant(in String callID);
52 void joinConference(in String sel_confID, in String drag_confID);
53 void hangUpConference(in String confID);
54 void holdConference(in String confID);
55 void unholdConference(in String confID);
56 List getConferenceList();
alisionfde875f2013-05-28 17:01:54 -040057 Map getCallList();
alision7f18fc82013-05-01 09:37:33 -040058 List getParticipantList(in String confID);
59 String getConferenceId(in String callID);
alision806e18e2013-06-21 15:30:17 -040060 String getConferenceDetails(in String callID);
alision85704182013-05-29 15:23:03 -040061
62
63 /* */
64
65 SipCall getCall(String callID);
Alexandre Savardc1b08fe2012-09-25 16:24:47 -040066}