resiprocate之message

 

Message信令提示警告,显示如下:

调用堆栈如下:

 解决方法:在初始化的时候,增加如下设置

	// Enable and configure RFC5626 Outbound support
	InteropHelper::setOutboundVersion(5626);
	InteropHelper::setOutboundSupported(false);
	InteropHelper::setRRTokenHackEnabled(false);
	InteropHelper::setAssumeFirstHopSupportsOutboundEnabled(false);
	InteropHelper::setClientNATDetectionMode(InteropHelper::ClientNATDetectionDisabled);

 

 

-------------***********************Message提示不支持该方法***********************‘

 调用函数在sipmessage里面找到

 查明原因,需要首先设置一个content类继承

 再实现相关虚函数即可

 

**********---------------message信令使用tcp方式**********

url.param(p_transport) = Tuple::toData(TCP);  //tcp时候使用

判断是否存在tcp的传输方式

		if (message.header(h_To).uri().exists(p_transport))
		{
			resip::Data protol = message.header(h_To).uri().param(p_transport);
			if (protol == Tuple::toData(TCP))
			{
				msg.iProtocol = 1;
			}
		}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
reSIProcate 是一个 C++ 实现的 SIP 协议栈库,用于构建 SIP 应用程序。下面是 reSIProcate 库的使用说明: 1. 下载和安装 reSIProcate 库:可以从官方网站 http://www.resiprocate.org/ 下载 reSIProcate 库的最新版本,并按照官方的指导进行安装。 2. 创建 SIP 应用程序:使用 reSIProcate 库可以轻松创建 SIP 应用程序。首先需要创建一个 SIP 管理器对象并初始化,如下所示: ```cpp #include <resip/stack/SipStack.hxx> using namespace resip; int main(int argc, char** argv) { SipStack stack; stack.init(); // ... do something ... stack.shutdown(); return 0; } ``` 3. 发送和接收 SIP 消息:使用 reSIProcate 库可以方便地发送和接收 SIP 消息。下面是发送 INVITE 消息的示例代码: ```cpp #include <resip/stack/SipStack.hxx> #include <resip/stack/SipMessage.hxx> #include <resip/stack/SipTransaction.hxx> #include <resip/stack/Uri.hxx> using namespace resip; int main(int argc, char** argv) { SipStack stack; stack.init(); // create a SIP message SipMessage* msg = new SipMessage(); msg->setMethod("INVITE"); msg->setUri(Uri("sip:alice@example.com")); // send the message SipTransaction* tx = stack.sendRequest(msg); // ... do something ... stack.shutdown(); return 0; } ``` 接收 SIP 消息的示例代码如下: ```cpp #include <resip/stack/SipStack.hxx> #include <resip/stack/SipMessage.hxx> #include <resip/stack/SipTransaction.hxx> using namespace resip; class MySipMessageHandler : public SipMessageHandler { public: virtual void handleRequest(SipMessage& msg) { // ... handle the request ... } virtual void handleResponse(SipMessage& msg, SipTransaction::State state) { // ... handle the response ... } }; int main(int argc, char** argv) { SipStack stack; stack.init(); MySipMessageHandler handler; stack.addMessageHandler(&handler); // ... do something ... stack.shutdown(); return 0; } ``` 以上就是 reSIProcate 库的使用说明。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值