返回列表 發帖

【角色茶桌】——ET263 在Asterisk 1.4, 1.6, 1.8, 11 注册问题(too many vias)(Solved)

本帖最後由 角色 於 2012-11-3 13:14 編輯

最近安装了Asterisk 1.8,发现1.8与1.4有一些不一样,现在用ET263,打出是没有问题,但是打入呢?有问题

在sip.conf,加了下面这一句,在cli就出现很多errors
  1. [Oct 15 09:45:44] WARNING[3247]: chan_sip.c:24433 handle_incoming: Misrouted SIP response '401 Unauthorized' with Call-ID '05d212624f8017f1114dde8441d6ebdc@xxx.homeftp.org', too many vias
複製代碼
解决办法在 #23

回復 26# lookforyou

ET263有两种方式注册,第一种是用10002 port,第二种是用5060 port的。

TOP

username=5xxxxxxxx
type=peer
sendrpid=no
secret=secret
qualify=yes
promiscredir=yes
language=en
inse ...
lookforyou 發表於 2014-7-16 06:51


這個真的要謝謝你,用了你提供那個host就可以正常用到.免去我重新編譯asterisk的痛苦
321

TOP

mark 一下

TOP

按此方法也成功了,过来留痕一下

TOP

应该不可以,因为我不会怎样把这个问题跟Asterisk说,他们有一套程序要做才能考虑把ET263的问题,修改,然后在config file里面加option来处理。

TOP

回復 28# 角色


    必须要修改源代码才行吗?能不能直接在trunk设置中修改相应的参数来达到这个目的呢?

et263用它标准的5060服务器进出都是正常的

TOP

怎样修改,在我其他帖子能找的,如果找不到,请你告诉我。

TOP

回復 24# 角色


    修改源代码还不会,呵呵 ,不过有解了真好!

TOP

本帖最後由 lookforyou 於 2014-7-16 06:53 編輯

username=5xxxxxxxx
type=peer
sendrpid=no
secret=secret
qualify=yes
promiscredir=yes
language=en
insecure=very
host=211.150.71.120
fromuser=5xxxxxxxx
fromdomain=211.150.71.120
dtmfmode=auto
disallow=h263&h263p
context=from-pstn
canreinvite=no

这样设定trunk可以成功,但用sip.etelephone.cn:10002,则始终不成功

TOP

角色用的方法是正確的,對於其他不同的 Asterisk 版本,如果遇到 ET263 無法註冊,先確認不是網路或帳號的問題,然後開啟 debug mode,找出 CLI 顯示出的關鍵錯誤訊息,然後再去分析相對應的 C 原始碼內容,找出問題之後重新編譯。
OSSLab Blog :: VoIP & IT Consultant

TOP

本帖最後由 角色 於 2012-11-3 13:13 編輯

结果:

1008.png


1009.png


1010.png

TOP

就是在/opt/source/asterisk/asterisk-1.8.17.0/channels的chan_sip.c
把这句:
  1.                 if (!ast_strlen_zero(__get_header(req, "via", &via_pos))) {
  2.                         ast_log(LOG_WARNING, "Misrouted SIP response '%s' with Call-ID '%s', too many vias\n", e, callid);
  3.                         return 0;
  4.                 }
複製代碼
变成:
  1.                 /* if (!ast_strlen_zero(__get_header(req, "via", &via_pos))) {
  2.                         ast_log(LOG_WARNING, "Misrouted SIP response '%s' with Call-ID '%s', too many vias\n", e, callid);
  3.                         return 0;
  4.                 }*/
複製代碼
然后再compile,再make后就搞定。

TOP

本帖最後由 角色 於 2012-11-3 12:05 編輯

如果之前的CHings都有谈及过!

http://www.telecom-cafe.com/foru ... =2963&pid=15611

http://www.telecom-cafe.com/forum/archiver/?tid-2963-page-22.html

TOP

不知道是否与最新的SIP RFC有bug有关?

RFC 3261            SIP: Session Initiation Protocol           June 2002


8.1.3.3 Vias

   If more than one Via header field value is present in a response, the
   UAC SHOULD discard the message.

      The presence of additional Via header field values that precede
      the originator of the request suggests that the message was
      misrouted or possibly corrupted.

TOP

返回列表