SIP Endpoint SDK for OS X
 All Classes Functions Properties
Services.h
1 //
2 // Services.h
3 // SipEndpoint
4 //
5 // Copyright (c) 2011-2016 Genesys Telecommunications Laboratories, Inc. All rights reserved.
6 //
7 
8 #import <Foundation/Foundation.h>
9 #import "GSCaptureCapability.h"
10 #import "GSVideoStream.h"
11 #import "GSSession.h"
12 #import "NotificationDelegates.h"
13 
17 @protocol GSSessionService <NSObject>
18 
27 - (GSResult) dialFrom:(id<GSConnection>)connection
28  to:(NSString*)destination;
29 
38 - (GSResult) dialVideoFrom:(id<GSConnection>)connection
39  to:(NSString*)destination;
40 
50 - (GSResult) dialFrom:(id<GSConnection>)connection
51  to:(NSString*)destination
52  withData:(NSString*)data;
53 
63 - (GSResult) dialVideoFrom:(id<GSConnection>)connection
64  to:(NSString*)destination
65  withData:(NSString*)data;
66 
80 - (GSResult) dialFrom:(id<GSConnection>)connection
81  to:(NSString*)destination
82  video:(BOOL)video
83  withData:(NSString*)data
84  sessionId:(int*)outSessionId;
85 
93 - (GSResult) answerSession:(id<GSSession>) session;
94 
102 - (GSResult) answerVideoSession:(id<GSSession>) session;
103 
111 - (GSResult) hangupSession:(id<GSSession>) session;
112 
120 - (GSResult) holdSession:(id<GSSession>) session;
121 
129 - (GSResult) retrieveSession:(id<GSSession>) session;
130 
140 - (GSResult) sendDtmf:(NSString*) digits forSession:(id<GSSession>) session;
141 
151 - (GSResult) sendInfoToSession:(id<GSSession>) session
152  contentType:(NSString*) contentType
153  content:(NSString*) content;
154 
164 - (GSResult) oneStepTransfer:(int) sessionId
165  destination:(NSString*) destination
166  video:(BOOL) video;
167 
179 - (GSResult) twoStepTransferInitiate:(int) sessionId
180  destination:(NSString*) destination
181  video:(BOOL) video
182  data:(NSString*) data
183  newSessionId:(int*)newSessionId;
184 
193 - (GSResult) twoStepTransferComplete:(int) activeSessionId
194  heldSessionId:(int) heldSessionId;
195 
204 - (NSString*) sipInviteHeaderForSessionId:(int) sessionId
205  headerName:(NSString*) headerName;
206 
215 - (GSResult) muteOutgoingAudioForSession:(id<GSSession>) session mute:(BOOL) mute;
216 
225 - (BOOL) outgoingAudioMutedForSession:(id<GSSession>) session;
226 
235 - (GSResult) micVolumeForSession:(id<GSSession>) session volume:(int) volume;
236 
245 - (GSResult) speakerVolumeForSession:(id<GSSession>) session volume:(int) volume;
246 
254 - (GSResult) sendVideoOfferForSession:(id<GSSession>) session;
255 
264 - (GSResult) answerVideoOfferForSession:(id<GSSession>) session accept:(BOOL) accept;
265 
273 - (GSResult) removeVideoStreamForSession:(id<GSSession>) session;
274 
275 @end
276 
280 @protocol GSVideoService <NSObject>
281 
282 @property (nonatomic) BOOL isCaptureStarted;
283 @property (nonatomic) BOOL isLocalVideoStarted;
284 @property (nonatomic) BOOL isRemoteVideoStarted;
285 
291 - (GSStatus) pauseVideoCapture;
292 
298 - (GSStatus) resumeVideoCapture;
299 
307 - (GSVideoState) videoCaptureState;
308 
314 - (GSResult) stopVideoCapture;
315 
332 - (GSResult) startVideoCaptureWithCapability:(GSCaptureCapability*) capability;
333 
343 - (GSResult) startLocalVideoStream:(GSVideoStream*) stream
344  withCapability:(GSCaptureCapability*) capability;
345 
355 - (GSResult) changeLocalVideoStream:(GSVideoStream*) stream;
356 
367 - (GSResult) startRemoteVideoForSession:(id<GSSession>) session
368  withConfiguration:(GSVideoStream*) configuration;
369 
380 - (GSResult) changeRemoteVideoForSession:(id<GSSession>) session
381  withConfiguration:(GSVideoStream*) configuration;
382 
388 - (GSResult) stopLocalVideo;
389 
399 - (GSResult) stopRemoteVideoForSession:(id<GSSession>) session;
400 
401 @end
402 
403 
407 @protocol GSMwiService <NSObject>
408 
416 - (GSResult) subscribeForMailbox:(GSMwiSubscription*) subscription;
417 
425 - (GSResult) unsubscribeForMailbox:(GSMwiSubscription*) subscription;
426 
434 @property (nonatomic, assign) id<GSMwiNotificationDelegate> notificationDelegate;
435 
436 @end
437 
441 @protocol GSStatisticsService <NSObject>
442 
450 - (GSStatistics*) audioStatisticsForSession:(id<GSSession>) session;
451 
459 - (GSStatistics*) videoStatisticsForSession:(id<GSSession>) session;
460 
468 @property (nonatomic, assign) id<GSStatisticsNotificationDelegate> notificationDelegate;
469 
470 @end