标签: opensips

SIP请求中from-tag的用途是什么?

我对SIP有一个小小的疑问。我尝试使用谷歌搜索和引用许多书籍,但仍然找不到在SIP请求中添加from-tag的可靠原因。

SIP请求示例(来自rfc-3261的快照)

INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application//sdp
Content-Length: 142
Run Code Online (Sandbox Code Playgroud)

根据rfc-3261:

对话框可以使用from-tag,to-tag和call-id进行标识。

我知道添加to-tag和call-id的确切原因。我不知道的是

  1. 为什么需要标记标签?
  2. 如果缺少from-tag(假设rfc-3261没有强制要求)会产生什么影响?

sip sip-server opensips

5
推荐指数
3
解决办法
8184
查看次数

创建SipSession失败;网络不可用

我已将Android SIP演示加载到Android Studio中。我在getonsip.com上注册了一个帐户,将其添加到我的手机帐户中,并通过从getonsip.com网络应用程序以及从一部Android手机到另一部Android手机拨打电话来验证它是否可以正常使用。到目前为止一切都很好。

我稍微修改了演示中的Java代码以适应getonsip设置:

  SipProfile.Builder builder = new SipProfile.Builder(username, domain);
  builder.setOutboundProxy(proxy);
  builder.setPassword(password);
  builder.setAuthUserName(auth);
  builder.setAutoRegistration(true);
  builder.setPort(5060);
  builder.setProtocol("UDP");
  sipProfile = builder.build();
Run Code Online (Sandbox Code Playgroud)

然后,将其部署到我的手机(Galaxy S4,Android 4.4.2 API 19)。但是,当我尝试这样给自己打电话时:

  sipCall = sipManager.makeAudioCall(sipProfile.getUriString(), sipAddress, listener, 30);
Run Code Online (Sandbox Code Playgroud)

我总是得到相同的错误:

05-14 11:43:13.476    5061-5080/android.SipDemo W/System.err? android.net.sip.SipException: Failed to create SipSession; network unavailable?
Run Code Online (Sandbox Code Playgroud)

StackOverflow和互联网上的其他帖子对我没有帮助。我尝试在呼叫,重新启动电话以及将目标SIP地址更改为包括sip:<address>@getonsip.com和之前添加5秒的延迟sip:<address>@getonsip.com:5060,但始终是相同的错误消息。

有人知道如何解决这个问题吗?

java android sip opensips

5
推荐指数
0
解决办法
1121
查看次数

标签 统计

opensips ×2

sip ×2

android ×1

java ×1

sip-server ×1