1

我有一个星号用于在 PC 上工作的网络(仅在网站上调用),但是当我在我的 android 5 上运行相同的客户端时没有声音,至少在我的 android 中没有,它确实向 PC 发送语音,但无法重现传入的声音。

我的星号似乎一切都很好,它在通话中显示:

servidor-asterisk*CLI> core show channels
Channel              Location             State   Application(Data)
SIP/002670-0000003d  (None)               Up      AppDial((Outgoing Line))
SIP/000001-0000003c  002670@from-internal Up      Dial(SIP/002670,60)
2 active channels
1 active call
31 calls processed

但在 Eclipse 控制台中,我收到来自 android 的代码 405:

"__tsip_transport_ws_onmessage", source: http://IP/videoNodeJs/scripts/sip_api.js (1)
"recv=OPTIONS sip:000001@df7jal23ls0d.invalid;rtcweb-breaker=no;transport=ws SIP/2.0
"Not implemented", source: http://IP/videoNodeJs/scripts/sip_api.js (1)
"SEND: SIP/2.0 405 Method Not Allowed

有什么建议么?

更新:

SIPML5 客户端:

<audio id="audio-remote"/>

var opcoes_chamada = {
    audio_remote: document.getElementById('audio-remote'),
    screencast_window_id: 0x00000000, // entire desktop
    bandwidth: { audio:undefined, video:undefined },
    video_size: { minWidth:undefined, minHeight:undefined, maxWidth:undefined, maxHeight:undefined },
    events_listener: { events: '*', listener: sipEventsListener },
    sip_caps: [
                    { name: '+g.oma.sip-im' },
                    { name: 'language', value: '\"en,fr\"' }
                ]
};

拨打电话:

callSession = sipStack.newSession('call-audio', opcoes_chamada);
callSession.call(sip_id_d);

接听电话:

e.newSession.setConfiguration(opcoes_chamada);
e.newSession.accept();

405 方法不允许

The method specified in the Request-Line is understood, but not 
allowed for the address identified by the Request-URI.
The response MUST include an Allow header field containing a 
list of valid methods for the indicated address.

对此的一些解释,有没有可能一切都很好,但音频标签是移动客户端的问题?如果不是,那么“Request-URI 标识的地址”是什么?

4

1 回答 1

0

所以,它正在工作。

这是交易,SIP很好,客户端。漏洞问题是 chrome 限制,需要用户单击才能在浏览器中播放任何声音,如下所示:

我有我的音频标签:

<audio id="audio-remote"/>

后来我用 sipml5 提供源:

var opcoes_chamada = {
audio_remote: document.getElementById('audio-remote'),
screencast_window_id: 0x00000000, // entire desktop
bandwidth: { audio:undefined, video:undefined },
video_size: { minWidth:undefined, minHeight:undefined, maxWidth:undefined, maxHeight:undefined },
events_listener: { events: '*', listener: sipEventsListener },
sip_caps: [
                { name: '+g.oma.sip-im' },
                { name: 'language', value: '\"en,fr\"' }
            ]
};

这是一个问题,它与 SIPML5 源一起提供的音频标签,但它处于暂停(或保持,不知道是什么......)只要用户不给出 onclick 动作,所以在 2 行之后为了拨打和接听电话,我添加了一个按钮:

onClick="document.getElementById('audio-remote').play();"

一切终于奏效了!

于 2015-03-24T13:48:43.750 回答