SIP Endpoint SDK for OS X
 All Classes Functions Properties
Services.h
1 //
2 // Services.h
3 // SipEndpoint
4 //
5 // Copyright (c) 2011-2018 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
141  forSession:(id<GSSession>) session;
142 
152 - (GSResult) sendInfoToSession:(id<GSSession>) session
153  contentType:(NSString*) contentType
154  content:(NSString*) content;
155 
165 - (GSResult) oneStepTransfer:(int) sessionId
166  destination:(NSString*) destination
167  video:(BOOL) video;
168 
180 - (GSResult) twoStepTransferInitiate:(int) sessionId
181  destination:(NSString*) destination
182  video:(BOOL) video
183  data:(NSString*) data
184  newSessionId:(int*)newSessionId;
185 
194 - (GSResult) twoStepTransferComplete:(int) activeSessionId
195  heldSessionId:(int) heldSessionId;
196 
205 - (NSString*) sipInviteHeaderForSessionId:(int) sessionId
206  headerName:(NSString*) headerName;
207 
216 - (GSResult) muteOutgoingAudioForSession:(id<GSSession>) session
217  mute:(BOOL) mute;
218 
227 - (BOOL) outgoingAudioMutedForSession:(id<GSSession>) session;
228 
237 //- (GSResult) micVolumeForSession:(id<GSSession>) session volume:(int) volume;
238 
247 - (GSResult) speakerVolumeForSession:(id<GSSession>) session
248  volume:(int) volume;
249 
257 - (GSResult) sendVideoOfferForSession:(id<GSSession>) session;
258 
267 - (GSResult) answerVideoOfferForSession:(id<GSSession>) session
268  accept:(BOOL) accept;
269 
277 - (GSResult) removeVideoStreamForSession:(id<GSSession>) session;
278 
286 - (NSString*) getCodecNameForSessionId:(int) sessionId;
287 
295 - (NSString*) getRemoteSDPForSessionId:(int) sessionId;
296 
305 - (NSString*) getSIPMessageForSessionId:(int) sessionId
306  byIndex:(int) index;
307 
316 - (NSString*) getSIPMessageForSessionId:(int) sessionId
317  byName:(NSString*) name;
318 
319 @end
320 
324 @protocol GSVideoService <NSObject>
325 
326 @property (nonatomic) BOOL isLocalVideoStarted;
327 @property (nonatomic) BOOL isRemoteVideoStarted;
328 @property (nonatomic) GSVideoState captureState;
329 
335 - (GSStatus) pauseVideoCapture;
336 
342 - (GSStatus) resumeVideoCapture;
343 
351 - (GSVideoState) videoCaptureState;
352 
358 - (GSResult) stopVideoCapture;
359 
376 - (GSResult) startVideoCaptureWithCapability:(GSCaptureCapability*) capability;
377 
387 - (GSResult) startLocalVideoStream:(GSVideoStream*) stream
388  withCapability:(GSCaptureCapability*) capability;
389 
399 - (GSResult) changeLocalVideoStream:(GSVideoStream*) stream;
400 
411 - (GSResult) startRemoteVideoForSession:(id<GSSession>) session
412  withConfiguration:(GSVideoStream*) stream;
413 
424 - (GSResult) changeRemoteVideoForSession:(id<GSSession>) session
425  withConfiguration:(GSVideoStream*) stream;
426 
432 - (GSResult) stopLocalVideo;
433 
443 - (GSResult) stopRemoteVideoForSession:(id<GSSession>) session;
444 
445 @end
446 
447 
451 @protocol GSMwiService <NSObject>
452 
460 - (GSResult) subscribeForMailbox:(GSMwiSubscription*) subscription;
461 
469 - (GSResult) unsubscribeForMailbox:(GSMwiSubscription*) subscription;
470 
478 @property (nonatomic, assign) id<GSMwiNotificationDelegate> notificationDelegate;
479 
480 @end
481 
485 @protocol GSStatisticsService <NSObject>
486 
494 - (GSStatistics*) audioStatisticsForSession:(id<GSSession>) session;
495 
496 - (GSStatistics*) audioStatisticsForSessionId:(int) sessionId;
497 
505 - (GSStatistics*) videoStatisticsForSession:(id<GSSession>) session;
506 
507 - (GSStatistics*) videoStatisticsForSessionId:(int) sessionId;
508 
516 @property (nonatomic, assign) id<GSStatisticsNotificationDelegate> notificationDelegate;
517 
518 @end