Closed marshad13 closed 7 years ago
Hi,
What exactly do you want to know about it? If you asking how to initiate a video call, its pretty simple and almost same as usual call, using this method:
/**
* Create new session
*
* @param opponents opponents IDs, array of NSNumber instances
* @param conferenceType Type of conference. 'QBRTCConferenceTypeAudio' and 'QBRTCConferenceTypeVideo' values are available
*
* @return New QBRTCSession instance
*/
- (QBRTCSession *)createNewSessionWithOpponents:(NSArray <NSNumber *> *)opponents
withConferenceType:(QBRTCConferenceType)conferenceType;
Just put QBRTCConferenceTypeVideo as conference type.
Actually reason for asking this question was to know about the hierarchy of session, i know when audio or video call is being made we call this method,
- (QBRTCSession *)createNewSessionWithOpponents:(NSArray <NSNumber *> *)opponents withConferenceType:(QBRTCConferenceType)conferenceType;
But how to destroy/remove this new created session? I am facing an issue regarding this session, first i start a video call, it works fine, but on call close/decline i call [mySession hangUp:@{@"hangup" : @"hang up"}]; It works fine for the first time, but on second attempt when i try to make another call with same 'Opponent' it doesn't succeeded and same 'hangUp:' method does not work wither any clue what m i doing wrong? By the way I am using Twitter Digits for user auth.
Here is the log,
2017-04-20 19:11:40.380948 LoomIn[997:265978] [DYMTLInitPlatform] platform initialization successful
2017-04-20 19:11:41.009956 LoomIn[997:265857] [Digits INFO]: Add the Answers framework to your app to enable Digits event logging automatically. Learn more at https://answers.io
2017-04-20 19:11:41.249 rtc::[RTCClient] iPhone5,2, 10.1.1, SDK: 2.3, webrtc: 15791
2017-04-20 19:11:41.294 rtc::[RTCClient] Initializing SSL...
2017-04-20 19:11:41.297 rtc::[RTCClient] Wating signaling channel
2017-04-20 19:11:41.299 LoomIn[997:265987] -[QBChat sendPresenceWithStatus:] -> return. You have to be logged in in order to use Chat API
2017-04-20 19:11:41.383986 LoomIn[997:265857] _phoneNoStr +92
2017-04-20 19:11:41.391090 LoomIn[997:265857] _phoneNoStr +92
2017-04-20 19:11:43.389941 LoomIn[997:265857] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2017-04-20 19:11:43.393136 LoomIn[997:265857] [MC] Reading from public effective user settings.
2017-04-20 19:11:43.484326 LoomIn[997:265857] Can't find keyplane that supports type 5 for keyboard iPhone-Portrait-PhonePad; using 3091845359_Portrait_iPhone-Complex-Pad_Default
2017-04-20 19:12:03.315116 LoomIn[997:266121] [Fabric] failed to download settings Error Domain=FABNetworkError Code=-6 "(null)"
2017-04-20 19:12:08.013 rtc::[RTCClient] Initializing SSL...
2017-04-20 19:12:08.013 rtc::[RTCClient] Wating signaling channel
2017-04-20 19:12:08.019 LoomIn[997:266121] -[QBChat sendPresenceWithStatus:] -> return. You have to be logged in in order to use Chat API
2017-04-20 19:12:36.140197 LoomIn[997:265857] [Common] _BSMachError: port b203; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
2017-04-20 19:12:36.141263 LoomIn[997:265857] [Common] _BSMachError: port b203; (os/kern) invalid name (0xf) "Unable to deallocate send right"
2017-04-20 19:12:36.661632 LoomIn[997:265857] Can't find keyplane that supports type 4 for keyboard iPhone-Portrait-NumberPad; using 160517473_Portrait_iPhone-Simple-Pad_Default
2017-04-20 19:12:51.457 rtc::[RTCClient] Initializing SSL...
2017-04-20 19:12:51.457 rtc::[RTCClient] Wating signaling channel
2017-04-20 19:12:51.459 LoomIn[997:265989] -[QBChat sendPresenceWithStatus:] -> return. You have to be logged in in order to use Chat API
2017-04-20 19:12:58.724 rtc::[RTCClient] Initializing SSL...
2017-04-20 19:12:58.724 rtc::[RTCClient] Wating signaling channel
2017-04-20 19:12:58.736 LoomIn[997:266253] -[QBChat sendPresenceWithStatus:] -> return. You have to be logged in in order to use Chat API
2017-04-20 19:13:08.194169 LoomIn[997:265857] [Digits ERROR]: Error Domain=TwitterAPIErrorDomain Code=236 "Request failed: bad request (400)" UserInfo={NSLocalizedFailureReason=Twitter API error : The challenge response is incorrect (code 236), NSLocalizedDescription=Request failed: bad request (400), NSErrorFailingURLKey=https://api.digits.com/auth/1/xauth_challenge.json, TWTRNetworkingStatusCode=400}
2017-04-20 19:14:10.572 rtc::[RTCClient] Initializing SSL...
2017-04-20 19:14:10.573 rtc::[RTCClient] Wating signaling channel
2017-04-20 19:14:10.575 LoomIn[997:266571] -[QBChat sendPresenceWithStatus:] -> return. You have to be logged in in order to use Chat API
2017-04-20 19:14:18.346 LoomIn[997:266526] -[QBChat sendPresenceWithStatus:] -> return. You have to be logged in in order to use Chat API
2017-04-20 19:14:39.445344 LoomIn[997:265857] Can't find keyplane that supports type 4 for keyboard iPhone-Portrait-NumberPad; using 160517473_Portrait_iPhone-Simple-Pad_Default
2017-04-20 19:14:40.251 rtc::[RTCClient] Initializing SSL...
2017-04-20 19:14:40.251 rtc::[RTCClient] Wating signaling channel
2017-04-20 19:14:40.254 LoomIn[997:266571] -[QBChat sendPresenceWithStatus:] -> return. You have to be logged in in order to use Chat API
2017-04-20 19:14:43.987 rtc::[RTCClient] Initializing SSL...
2017-04-20 19:14:43.987 rtc::[RTCClient] Wating signaling channel
2017-04-20 19:14:43.991 LoomIn[997:266808] -[QBChat sendPresenceWithStatus:] -> return. You have to be logged in in order to use Chat API
2017-04-20 19:14:52.689 LoomIn[997:266571] [QBCore] Request URL:https://api.quickblox.com/account_settings.json
2017-04-20 19:14:52.690 LoomIn[997:266571] [QBCore] Request method: GET
2017-04-20 19:14:52.690 LoomIn[997:266571] [QBCore] Request parameters:(null)
2017-04-20 19:14:52.690 LoomIn[997:266571] [QBCore] Request headers: {
"Accept-Language" = "en;q=1, en-US;q=0.9";
"QB-Account-Key" = vwcKM8YdUjhNMJHsjEWy;
"QB-OS" = "iOS 10.1.1";
"QB-SDK" = "iOS 2.9";
"QuickBlox-REST-API-Version" = "0.1.1";
"User-Agent" = "LoomIn/1.0 (iPhone; iOS 10.1.1; Scale/2.00)";
}
2017-04-20 19:14:55.069 LoomIn[997:266851] [QBCore] Response headers: {
"Access-Control-Allow-Origin" = "";
"Cache-Control" = "max-age=0, private, must-revalidate";
Connection = "keep-alive";
"Content-Length" = 175;
"Content-Type" = "application/json; charset=utf-8";
Date = "Thu, 20 Apr 2017 14:14:54 GMT";
Etag = "\"b34c0c57e2322add9a77d61ec8d6efec\"";
"QuickBlox-REST-API-Version" = "0.1.1";
Server = "openresty/1.9.15.1";
Status = "200 OK";
"Strict-Transport-Security" = "max-age=15768000;";
"X-Rack-Cache" = miss;
"X-Request-Id" = 8795a4bb30ae1dea30f0002de2262c10;
"X-Runtime" = "0.011132";
"X-UA-Compatible" = "IE=Edge,chrome=1";
}
2017-04-20 19:14:55.070 LoomIn[997:266851] [QBCore] Response object: {
"account_id" = 60854;
"api_endpoint" = "https://api.quickblox.com";
"chat_endpoint" = "chat.quickblox.com";
"s3_bucket_name" = qbprod;
"turnserver_endpoint" = "turnserver.quickblox.com";
}
2017-04-20 19:14:55.078 LoomIn[997:266571] [Core] accountSettings:
apiEndpoint: https://api.quickblox.com
chatEndpoint: chat.quickblox.com,
turnServerEndpoint: turnserver.quickblox.com,
S3BucketName: qbprod,
lastCheckDate: 2017-04-20 14:14:55 +0000
2017-04-20 19:14:55.085 LoomIn[997:266571] [QBCore] Request URL:https://api.quickblox.com/session.json
2017-04-20 19:14:55.085 LoomIn[997:266571] [QBCore] Request method: POST
2017-04-20 19:14:55.086 LoomIn[997:266571] [QBCore] Request parameters:{
"application_id" = 56318;
"auth_key" = 56qhYWXHwGfV5mn;
nonce = 664;
signature = c32e39fea78e6831623539c6e4aa4e32d53ae1d3;
timestamp = 1492697695;
}
2017-04-20 19:14:55.086 LoomIn[997:266571] [QBCore] Request headers: {
"Accept-Language" = "en;q=1, en-US;q=0.9";
"Content-Type" = "application/x-www-form-urlencoded";
"QB-OS" = "iOS 10.1.1";
"QB-SDK" = "iOS 2.9";
"QuickBlox-REST-API-Version" = "0.1.1";
"User-Agent" = "LoomIn/1.0 (iPhone; iOS 10.1.1; Scale/2.00)";
}
2017-04-20 19:14:56.943 LoomIn[997:266571] [QBCore] Response headers: {
"Access-Control-Allow-Origin" = "";
"Cache-Control" = "max-age=0, private, must-revalidate";
Connection = "keep-alive";
"Content-Length" = 230;
"Content-Type" = "application/json; charset=utf-8";
Date = "Thu, 20 Apr 2017 14:14:56 GMT";
Etag = "\"a24d046792f73af50e0a00bf29b5fadd\"";
"QB-Token-ExpirationDate" = "2017-04-20 16:14:56 UTC";
"QuickBlox-REST-API-Version" = "0.1.1";
Server = "openresty/1.9.15.1";
Status = "201 Created";
"Strict-Transport-Security" = "max-age=15768000;";
"X-Rack-Cache" = "invalidate, pass";
"X-Request-Id" = 44ed353ea5dca46e20a1bacbf6770068;
"X-Runtime" = "0.028466";
"X-UA-Compatible" = "IE=Edge,chrome=1";
}
2017-04-20 19:14:56.948 LoomIn[997:266571] [QBCore] Response object: {
session = {
"_id" = 62849678;
"application_id" = 56318;
"created_at" = "2017-04-20T14:14:56Z";
id = 62849678;
nonce = 664;
token = 6527d577ff648b4d798739c61e9952bdd700dbfe;
ts = 1492697695;
"updated_at" = "2017-04-20T14:14:56Z";
"user_id" = 0;
};
}
2017-04-20 19:14:56.960 LoomIn[997:266571] [QBCore] Request URL:https://api.quickblox.com/login.json
2017-04-20 19:14:56.960 LoomIn[997:266571] [QBCore] Request method: POST
2017-04-20 19:14:56.960 LoomIn[997:266571] [QBCore] Request parameters:{
provider = "twitter_digits";
"twitter_digits" = {
"X-Auth-Service-Provider" = "https://api.digits.com/1.1/sdk/account.json";
"X-Verify-Credentials-Authorization" = "OAuth oauth_timestamp=\"1492697692\",oauth_version=\"1.0\",oauth_consumer_key=\"ofN849E2pqzbFiJ9oLrvncexY\",oauth_signature=\"laXsDIx36z8QKBc%2BdxkBYPSd9XY%3D\",oauth_token=\"841269494760726528-gZupMmMD0jTq3SI4pvj3c58VCNQ97XK\",oauth_nonce=\"D4650FA0-711E-405C-8D67-BC44DBD21A1D\",oauth_signature_method=\"HMAC-SHA1\"";
};
}
2017-04-20 19:14:56.961 LoomIn[997:266571] [QBCore] Request headers: {
"Accept-Language" = "en;q=1, en-US;q=0.9";
"Content-Type" = "application/x-www-form-urlencoded";
"QB-OS" = "iOS 10.1.1";
"QB-SDK" = "iOS 2.9";
"QB-Token" = 6527d577ff648b4d798739c61e9952bdd700dbfe;
"QuickBlox-REST-API-Version" = "0.1.1";
"User-Agent" = "LoomIn/1.0 (iPhone; iOS 10.1.1; Scale/2.00)";
}
2017-04-20 19:14:58.865 LoomIn[997:266851] [QBCore] Response headers: {
"Access-Control-Allow-Origin" = "";
"Cache-Control" = "no-cache";
Connection = "keep-alive";
"Content-Length" = 373;
"Content-Type" = "application/json; charset=utf-8";
Date = "Thu, 20 Apr 2017 14:14:58 GMT";
"QB-Token-ExpirationDate" = "2017-04-20 16:14:56 +0000";
"QuickBlox-REST-API-Version" = "0.1.1";
Server = "openresty/1.9.15.1";
Status = "202 Accepted";
"X-Rack-Cache" = "invalidate, pass";
"X-Request-Id" = 703ff4205a29c85bd4a2d13a126b9fef;
"X-Runtime" = "0.163467";
"X-UA-Compatible" = "IE=Edge,chrome=1";
}
2017-04-20 19:14:58.866 LoomIn[997:266851] [QBCore] Response object: {
user = {
"blob_id" = "
After you hang up session for the first time, it is starting it's own close process. You cannot use same session for multiple calls therefore you cannot hangup 1 session multiple times. You need to create new session every time you want to initiate call with opponent user.
"QB-OS" = "iOS 10.1.1" "QB-SDK" = "iOS 2.9" QuickbloxWebRTC version = 2.3
How QBRTCClient work in case of video call?