1 #import <Foundation/Foundation.h> 2 #import "PortSIPEventDelegate.h" 3 #import "PortSIPVideoRenderView.h" 4 #import "PortSIPTypes.hxx" 5 #import "PortSIPErrors.hxx" 18 @property (nonatomic, weak) id<PortSIPEventDelegate> delegate;
51 - (int) initialize:(TRANSPORT_TYPE)transport
52 localIP:(NSString*)localIP
53 localSIPPort:(
int)localSIPPort
54 loglevel:(PORTSIP_LOG_LEVEL)logLevel
55 logPath:(NSString*)logFilePath
56 maxLine:(int)maxCallLines
57 agent:(NSString*)sipAgent
58 audioDeviceLayer:(int)audioDeviceLayer
59 videoDeviceLayer:(
int)videoDeviceLayer
60 TLSCertificatesRootPath:(NSString*)TLSCertificatesRootPath
61 TLSCipherList:(NSString*)TLSCipherList
62 verifyTLSCertificate:(BOOL)verifyTLSCertificate;
74 - (int)setInstanceId:(NSString*)instanceId;
98 - (int) setUser:(NSString*)userName
99 displayName:(NSString*)displayName
100 authName:(NSString*)authName
101 password:(NSString*)password
102 userDomain:(NSString*)userDomain
103 SIPServer:(NSString*)sipServer
104 SIPServerPort:(
int)sipServerPort
105 STUNServer:(NSString*)stunServer
106 STUNServerPort:(
int)stunServerPort
107 outboundServer:(NSString*)outboundServer
108 outboundServerPort:(
int)outboundServerPort;
125 - (int)registerServer:(
int)expires
126 retryTimes:(int)retryTimes;
137 - (int)refreshRegistration:(
int)expires;
154 - (int)setLicenseKey:(NSString*)key;
176 - (NSString*)getLocalIpAddress:(
int)index;
191 - (int)addAudioCodec:(AUDIOCODEC_TYPE)codecType;
200 - (int)addVideoCodec:(VIDEOCODEC_TYPE)codecType;
224 - (int)setAudioCodecPayloadType:(AUDIOCODEC_TYPE)codecType
225 payloadType:(int) payloadType;
235 - (int)setVideoCodecPayloadType:(VIDEOCODEC_TYPE)codecType
236 payloadType:(int) payloadType;
258 - (int)setAudioCodecParameter:(AUDIOCODEC_TYPE)codecType
259 parameter:(NSString*)parameter;
271 - (int)setVideoCodecParameter:(VIDEOCODEC_TYPE) codecType
272 parameter:(NSString*)parameter;
294 - (int)enableRport:(BOOL)enable;
303 - (int)enableEarlyMedia:(BOOL)enable;
312 - (int)enableReliableProvisional:(BOOL)enable;
321 - (int)enable3GppTags:(BOOL)enable;
328 - (void)enableCallbackSendingSignaling:(BOOL)enable;
337 - (int)setSrtpPolicy:(SRTP_POLICY)srtpPolicy;
351 - (int)setRtpPortRange:(
int) minimumRtpAudioPort
352 maximumRtpAudioPort:(int) maximumRtpAudioPort
353 minimumRtpVideoPort:(
int) minimumRtpVideoPort
354 maximumRtpVideoPort:(int) maximumRtpVideoPort;
368 - (int)setRtcpPortRange:(
int) minimumRtcpAudioPort
369 maximumRtcpAudioPort:(int) maximumRtcpAudioPort
370 minimumRtcpVideoPort:(
int) minimumRtcpVideoPort
371 maximumRtcpVideoPort:(int) maximumRtcpVideoPort;
381 - (int)enableCallForward:(BOOL)forBusyOnly forwardTo:(NSString*) forwardTo;
402 - (int)enableSessionTimer:(
int) timerSeconds refreshMode:(SESSION_REFRESH_MODE)refreshMode;
416 - (void)setDoNotDisturb:(BOOL)state;
423 - (void)enableAutoCheckMwi:(BOOL)state;
435 - (int)setRtpKeepAlive:(BOOL)state
436 keepAlivePayloadType:(int)keepAlivePayloadType
437 deltaTransmitTimeMS:(
int)deltaTransmitTimeMS;
446 - (int)setKeepAliveTime:(
int) keepAliveTime;
456 - (int)setAudioSamples:(
int) ptime
457 maxPtime:(int) maxPtime;
490 - (int)addSupportedMimeType:(NSString*) methodName
491 mimeType:(NSString*) mimeType
492 subMimeType:(NSString*) subMimeType;
513 -(NSString*)getSipMessageHeaderValue:(NSString*)sipMessage
514 headerName:(NSString*) headerName;
531 - (long)addSipMessageHeader:(
long) sessionId
532 methodName:(NSString*) methodName
533 msgType:(
int) msgType
534 headerName:(NSString*) headerName
535 headerValue:(NSString*) headerValue;
544 - (int)removeAddedSipMessageHeader:(
long) addedSipMessageId;
574 - (long)modifySipMessageHeader:(
long) sessionId
575 methodName:(NSString*) methodName
576 msgType:(
int) msgType
577 headerName:(NSString*) headerName
578 headerValue:(NSString*) headerValue;
587 - (int)removeModifiedSipMessageHeader:(
long) modifiedSipMessageId;
615 - (int)setVideoDeviceId:(
int) deviceId;
626 - (int)setVideoResolution:(
int)width
637 - (int)setAudioBitrate:(
long) sessionId
638 codecType:(AUDIOCODEC_TYPE)codecType
639 bitrateKbps:(
int)bitrateKbps;
649 - (int)setVideoBitrate:(
long) sessionId bitrateKbps:(int) bitrateKbps;
660 - (int)setVideoFrameRate:(
long) sessionId frameRate:(int) frameRate;
669 - (int)sendVideo:(
long)sessionId
670 sendState:(BOOL)sendState;
688 - (int)setRemoteVideoWindow:(
long) sessionId
698 - (int)displayLocalVideo:(BOOL) state;
707 - (int)setVideoNackStatus:(BOOL) state;
717 - (int)setLoudspeakerStatus:(BOOL)enable;
730 - (int)setChannelOutputVolumeScaling:(
long) sessionId
731 scaling:(int) scaling;
748 - (long)call:(NSString*) callee
749 sendSdp:(BOOL)sendSdp
750 videoCall:(BOOL)videoCall;
760 - (int)rejectCall:(
long)sessionId code:(int)code;
769 - (int)hangUp:(
long)sessionId;
779 - (int)answerCall:(
long)sessionId videoCall:(BOOL)videoCall;
803 - (int)updateCall:(
long)sessionId
804 enableAudio:(BOOL)enableAudio
805 enableVideo:(BOOL)enableVideo;
814 - (int)hold:(
long)sessionId;
823 - (int)unHold:(
long)sessionId;
836 - (int)muteSession:(
long)sessionId
837 muteIncomingAudio:(BOOL)muteIncomingAudio
838 muteOutgoingAudio:(BOOL)muteOutgoingAudio
839 muteIncomingVideo:(BOOL)muteIncomingVideo
840 muteOutgoingVideo:(BOOL)muteOutgoingVideo;
850 - (int)forwardCall:(
long)sessionId forwardTo:(NSString*) forwardTo;
866 - (long)pickupBLFCall:(
const char * )replaceDialogId videoCall:(BOOL)videoCall;
887 - (int)sendDtmf:(
long) sessionId
888 dtmfMethod:(DTMF_METHOD) dtmfMethod
890 dtmfDration:(int) dtmfDuration
891 playDtmfTone:(BOOL) playDtmfTone;
911 - (int)refer:(
long)sessionId referTo:(NSString*)referTo;
925 - (int)attendedRefer:(
long)sessionId
926 replaceSessionId:(long)replaceSessionId
927 referTo:(NSString*) referTo;
943 - (int)attendedRefer2:(
long)sessionId
944 replaceSessionId:(long)replaceSessionId
945 replaceMethod:(NSString*)replaceMethod
946 target:(NSString*)target
947 referTo:(NSString*)referTo;
960 - (int)outOfDialogRefer:(
long)replaceSessionId
961 replaceMethod:(NSString*)replaceMethod
962 target:(NSString*)target
963 referTo:(NSString*)referTo;
972 - (long)acceptRefer:(
long)referId referSignaling:(NSString*) referSignaling;
981 - (int)rejectRefer:(
long)referId;
999 - (int)enableSendPcmStreamToRemote:(
long)sessionId state:(BOOL)state streamSamplesPerSec:(
int)streamSamplesPerSec;
1014 - (int)sendPcmStreamToRemote:(
long)sessionId data:(NSData*) data;
1024 - (int)enableSendVideoStreamToRemote:(
long)sessionId state:(BOOL)state;
1043 - (int)sendVideoStreamToRemote:(
long)sessionId data:(NSData*) data width:(
int)width height:(int)height;
1058 - (int)setRtpCallback:(BOOL)enable;
1076 - (int)enableAudioStreamCallback:(
long) sessionId enable:(BOOL)enable callbackMode:(AUDIOSTREAM_CALLBACK_MODE)callbackMode;
1094 - (int)enableVideoStreamCallback:(
long) sessionId callbackMode:(VIDEOSTREAM_CALLBACK_MODE) callbackMode;
1116 - (int)startRecord:(
long)sessionId
1117 recordFilePath:(NSString*) recordFilePath
1118 recordFileName:(NSString*) recordFileName
1119 appendTimeStamp:(BOOL)appendTimeStamp
1120 audioFileFormat:(AUDIO_FILE_FORMAT) audioFileFormat
1121 audioRecordMode:(RECORD_MODE) audioRecordMode
1122 aviFileCodecType:(VIDEOCODEC_TYPE) aviFileCodecType
1123 videoRecordMode:(RECORD_MODE) videoRecordMode;
1132 - (int)stopRecord:(
long)sessionId;
1151 - (int) playVideoFileToRemote:(
long)sessionId aviFile:(NSString*) aviFile loop:(BOOL)loop playAudio:(BOOL)playAudio;
1160 - (int)stopPlayVideoFileToRemote:(
long)sessionId;
1172 - (int)playAudioFileToRemote:(
long)sessionId
1173 filename:(NSString*) filename
1174 fileSamplesPerSec:(
int) fileSamplesPerSec
1184 - (int)stopPlayAudioFileToRemote:(
long)sessionId;
1195 - (int)playAudioFileToRemoteAsBackground:(
long)sessionId filename:(NSString*)filename fileSamplesPerSec:(
int)fileSamplesPerSec;
1204 - (int)stopPlayAudioFileToRemoteAsBackground:(
long)sessionId;
1211 - (void)audioPlayLoopbackTest:(BOOL)enable;
1237 videoWidth:(int) videoWidth
1238 videoHeight:(
int) videoHeight
1239 displayLocalVideo:(BOOL)displayLocalVideoInConference;
1262 - (int)joinToConference:(
long)sessionId;
1271 - (int)removeFromConference:(
long)sessionId;
1289 - (int)setAudioRtcpBandwidth:(
long)sessionId
1292 KBitsAS:(int)KBitsAS;
1304 - (int)setVideoRtcpBandwidth:(
long)sessionId
1307 KBitsAS:(int)KBitsAS;
1316 - (int)enableAudioQos:(BOOL)state;
1325 - (int)enableVideoQos:(BOOL)state;
1334 - (int)setVideoMTU:(
int)mtu;
1364 - (int)getAudioStatistics:(
long)sessionId
1365 sendBytes:(
int*)sendBytes
1366 sendPackets:(
int*)sendPackets
1367 sendPacketsLost:(
int*)sendPacketsLost
1368 sendFractionLost:(
int*)sendFractionLost
1369 sendRttMS:(
int*)sendRttMS
1370 sendCodecType:(
int*)sendCodecType
1371 sendJitterMS:(
int*)sendJitterMS
1372 sendAudioLevel:(
int*)sendAudioLevel
1373 recvBytes:(
int*)recvBytes
1374 recvPackets:(
int*)recvPackets
1375 recvPacketsLost:(
int*)recvPacketsLost
1376 recvFractionLost:(
int*)recvFractionLost
1377 recvCodecType:(
int*)recvCodecType
1378 recvJitterMS:(
int*)recvJitterMS
1379 recvAudioLevel:(
int*)recvAudioLevel;
1407 - (int)getVideoStatistics:(
long)sessionId
1408 sendBytes:(
int*)sendBytes
1409 sendPackets:(
int*)sendPackets
1410 sendPacketsLost:(
int*)sendPacketsLost
1411 sendFractionLost:(
int*)sendFractionLost
1412 sendRttMS:(
int*)sendRttMS
1413 sendCodecType:(
int*)sendCodecType
1414 sendFrameWidth:(
int*)sendFrameWidth
1415 sendFrameHeight:(
int*)sendFrameHeight
1416 sendBitrateBPS:(
int*)sendBitrateBPS
1417 sendFramerate:(
int*)sendFramerate
1418 recvBytes:(
int*)recvBytes
1419 recvPackets:(
int*)recvPackets
1420 recvPacketsLost:(
int*)recvPacketsLost
1421 recvFractionLost:(
int*)recvFractionLost
1422 recvCodecType:(
int*)recvCodecType
1423 recvFrameWidth:(
int*)recvFrameWidth
1424 recvFrameHeight:(
int*)recvFrameHeight
1425 recvBitrateBPS:(
int*)recvBitrateBPS
1426 recvFramerate:(
int*)recvFramerate;
1439 - (void)enableVAD:(BOOL)state;
1446 - (void)enableCNG:(BOOL)state;
1462 - (int)sendOptions:(NSString*)to sdp:(NSString*) sdp;
1474 - (int)sendInfo:(
long)sessionId
1475 mimeType:(NSString*) mimeType
1476 subMimeType:(NSString*) subMimeType
1477 infoContents:(NSString*) infoContents;
1502 - (long)sendMessage:(
long)sessionId
1503 mimeType:(NSString*) mimeType
1504 subMimeType:(NSString*)subMimeType
1505 message:(NSData*) message
1506 messageLength:(
int)messageLength;
1529 - (long)sendOutOfDialogMessage:(NSString*) to
1530 mimeType:(NSString*) mimeType
1531 subMimeType:(NSString*)subMimeType
1533 message:(NSData*) message
1534 messageLength:(int)messageLength;
1552 - (int)setPresenceMode:(
int) mode;
1560 - (int)setDefaultSubscriptionTime:(
int) secs;
1568 - (int)setDefaultPublicationTime:(
int) secs;
1580 - (long)presenceSubscribe:(NSString*) contact
1581 subject:(NSString*) subject;
1590 - (int)presenceTerminateSubscribe:(
long) subscribeId;
1602 - (int)presenceAcceptSubscribe:(
long)subscribeId;
1614 - (int)presenceRejectSubscribe:(
long)subscribeId;
1624 - (int)setPresenceStatus:(
long)subscribeId
1625 statusText:(NSString*) statusText;
1644 - (long)sendSubscription:(NSString*) to
1645 eventName:(NSString*) eventName;
1658 - (int)terminateSubscription:(
long)subscribeId;
1711 - (int) enableCallKit:(BOOL)state;
NSString * getVersion()
Get the current version number of the SDK.
BOOL stopKeepAwake()
Keep VoIP awake in the background. Call this function in applicationWillEnterForeground once your ap...
int createAudioConference()
Create an audio conference.
PortSIP VoIP SDK functions class.
Definition: PortSIPSDK.h:16
BOOL isAudioCodecEmpty()
Detect if the enabled audio codecs is empty.
void removeUser()
Remove user account info.
int disableCallForward()
Disable the call forwarding. The SDK is not forwarding any incoming calls once this function is calle...
void clearVideoCodec()
Remove all enabled video codecs.
int disableSessionTimer()
Disable the session timer.
void clearAddedSipMessageHeaders()
Clear the added extension headers (custom headers)
BOOL stopAudio()
Stop Audio Device. Call it as AVAudioSessionInterruptionTypeBegan.
BOOL startKeepAwake()
Keep VoIP awake in the background. If you want your application to be able to receive the incoming c...
void unInitialize()
Un-initialize the SDK and release resources.
void clearAudioCodec()
Remove all enabled audio codecs.
BOOL startAudio()
Start Audio Device. Call it as AVAudioSessionInterruptionTypeEnded.
int unRegisterServer()
Un-register from the SIP proxy server.
PortSIP VoIP SDK Video Render View class.
Definition: PortSIPVideoRenderView.h:13
void destroyConference()
Destroy the existent conference.
void clearModifiedSipMessageHeaders()
Clear the modified headers value, and do not modify every outgoing SIP message header values any long...
int getNICNums()
Get the Network Interface Card numbers.
BOOL isVideoCodecEmpty()
Detect if enabled video codecs is empty or not.