summaryrefslogtreecommitdiff
path: root/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'protocols')
-rw-r--r--protocols/Teams/src/teams_proto.cpp7
-rw-r--r--protocols/Teams/src/teams_proto.h1
-rw-r--r--protocols/Teams/src/teams_trouter.cpp10
3 files changed, 13 insertions, 5 deletions
diff --git a/protocols/Teams/src/teams_proto.cpp b/protocols/Teams/src/teams_proto.cpp
index d452c09781..422904ad2e 100644
--- a/protocols/Teams/src/teams_proto.cpp
+++ b/protocols/Teams/src/teams_proto.cpp
@@ -39,6 +39,13 @@ CTeamsProto::CTeamsProto(const char *protoName, const wchar_t *userName) :
nlu.szSettingsModule = m_szModuleName;
m_hNetlibUser = Netlib_RegisterUser(&nlu);
+ CMStringA module(FORMAT, "%s.TRouter", m_szModuleName);
+ CMStringW descr(FORMAT, TranslateT("%s websocket connection"), m_tszUserName);
+ nlu.szSettingsModule = module.GetBuffer();
+ nlu.flags = NUF_INCOMING | NUF_OUTGOING | NUF_UNICODE;
+ nlu.szDescriptiveName.w = descr.GetBuffer();
+ m_hTrouterNetlibUser = Netlib_RegisterUser(&nlu);
+
CreateProtoService(PS_GETAVATARINFO, &CTeamsProto::SvcGetAvatarInfo);
CreateProtoService(PS_GETAVATARCAPS, &CTeamsProto::SvcGetAvatarCaps);
CreateProtoService(PS_GETMYAVATAR, &CTeamsProto::SvcGetMyAvatar);
diff --git a/protocols/Teams/src/teams_proto.h b/protocols/Teams/src/teams_proto.h
index c836053a21..3839e23609 100644
--- a/protocols/Teams/src/teams_proto.h
+++ b/protocols/Teams/src/teams_proto.h
@@ -359,6 +359,7 @@ public:
void TRouterProcess(const char *str);
private:
+ HNETLIBUSER m_hTrouterNetlibUser;
CMStringA m_szTrouterUrl, m_szTrouterSurl;
WebSocket<CTeamsProto> *m_ws;
MHttpHeaders m_connectParams;
diff --git a/protocols/Teams/src/teams_trouter.cpp b/protocols/Teams/src/teams_trouter.cpp
index 323c8f63af..b5eab27768 100644
--- a/protocols/Teams/src/teams_trouter.cpp
+++ b/protocols/Teams/src/teams_trouter.cpp
@@ -94,7 +94,7 @@ void CTeamsProto::GatewayThread(void *)
headers.AddHeader("User-Agent", TEAMS_USER_AGENT);
WebSocket<CTeamsProto> ws(this);
- NLHR_PTR pReply(ws.connect(m_hNetlibUser, m_szTrouterUrl, &headers));
+ NLHR_PTR pReply(ws.connect(m_hTrouterNetlibUser, m_szTrouterUrl, &headers));
if (pReply) {
if (pReply->resultCode == 101) {
m_ws = &ws;
@@ -186,8 +186,8 @@ void CTeamsProto::TRouterRegister(const char *pszAppId, const char *pszKey, cons
<< CHAR_PARAM("productContext", "TFL");
obj << CHAR_PARAM("context", "") << CHAR_PARAM("path", pszPath) << INT_PARAM("ttl", TEAMS_TROUTER_TTL);
- trouter.set_name("TROUTER"); trouter << obj;
- transports.set_name("transports");
+ trouter.set_name("TROUTER"); trouter << obj;
+ transports.set_name("transports"); transports << trouter;
reg.set_name("registration");
reg << descr << CHAR_PARAM("registrationId", m_szEndpoint) << CHAR_PARAM("nodeId", "") << transports;
@@ -197,7 +197,7 @@ void CTeamsProto::TRouterRegister(const char *pszAppId, const char *pszKey, cons
pReq->AddHeader("Content-Type", "application/json");
pReq->AddHeader("X-Skypetoken", m_szSkypeToken);
pReq->AddHeader("Authorization", "Bearer " + m_szAccessToken);
- pReq->m_szParam = mir_urlEncode(reg.write().c_str());
+ pReq->m_szParam = reg.write().c_str();
PushRequest(pReq);
}
@@ -221,4 +221,4 @@ void CTeamsProto::TRouterProcess(const char *str)
TRouterRegister();
break;
}
-} \ No newline at end of file
+}