请问函数invoke中callID传什么呢?


#1

请问函数invoke中callID传什么呢?


#2

通过getCallId方法获取callID参数:
https://docs.agora.io/cn/Voice/API%20Reference/cpp/classagora_1_1rtc_1_1_i_rtc_engine.html#af67688d89526926718edb26938d65541


#3

invoke可是信令sdk里的啊?


#4

哦哦,信令端的话,你自己设定这个callid的值就ok了。onInvokeRet回调里会传回来这个值,通过该值,来确定本次回调对应于哪个invoke调用。


#5

哦,好的,谢谢


#6

bool CAgoraSignalInstance::QueryIsOnlineEx(const std::string &account)
{
std::string strNmae = “agora.signal.user_query_user_status”;
std::string strReq = “{“account”:”;
strReq += account;
strReq += “}”;
std::string strCallID = account;
strCallID += “_”;
strCallID += QDateTime::currentDateTime().toString(“yyyyMMdd_hhmmss”).toStdString();

if (m_AgoraAPI) {
	m_AgoraAPI->invoke(strNmae.c_str(), strNmae.size(), strReq.c_str(), strReq.size(), strCallID.c_str(), strCallID.size());
	return true;
}

return false;

}

invoke这个函数调用一直阻塞导致程序卡死,怎么回回呢?


#7

name是io.agora.signal.user_query_user_status,参考一下:


#8

bool CAgoraSignalInstance::QueryIsOnlineEx(const std::string &account)
{
std::string strNmae = “io.agora.signal.user_query_user_status”;
std::string strReq = “{“account”:“123”}”;
//strReq += account;
//strReq += “}”;
std::string strCallID = “qwe”;//account;
//strCallID += “_”;
//strCallID += QDateTime::currentDateTime().toString(“yyyyMMddhhmmss”).toStdString();

if (m_AgoraAPI) {
	m_AgoraAPI->invoke(strNmae.c_str(), strNmae.size(), strReq.c_str(), strReq.size(), strCallID.c_str(), strCallID.size());
	return true;
}

return false;

}

奇怪了,还是阻塞,一直没返回,程序卡死。


#9

bool CAgoraSignalInstance::QueryIsOnline(const std::string &account)
{
if (m_AgoraAPI){
m_AgoraAPI->queryUserStatus(account.c_str(), account.size());
return true;
}

return false;

}
queryUserStatus这个函数却崩溃,奇怪了,除了这两个函数,其他函数都没有问题。你们的库会和其他的库有冲突吗?


#10

如果我单独建一个demo工程调用就没问题。是什么原因呢?


#11

不太清楚你那边别的方法是怎么调用的,你可以根据log检查下。也有可能是代码冲突?


#12

搞定了,原来信令sdk库版本与动态库版本不对应,不好意思