【问题标题】:Ozeki VoIP not receiving audioOzeki VoIP 没有接收到音频
【发布时间】:2019-11-01 15:54:48
【问题描述】:

我一直在用 c# 编写一个 Softphone 项目,并且一直在使用 Ozeki VoIP SDK。

到目前为止,我已经成功注册了软电话并拨打了外线电话。但是,我听不到被叫方的声音,但他们可以听到我的声音。 (我是软电话,被叫方是 Cisco SPA504G 电话)

使用其他应用程序(例如 X-Lite)时,2-Way 音频很好

SIP 跟踪显示我正在发送但未接收任何 RTP 包,这是我在代码中做错了什么(见下文)还是 PBX 端的问题。 (三线 PBX)

 void CreateCall()
    {
        string numberToDial = txtNum.Text;
        logOutput("Call " + numberToDial);
        txtLog.ScrollToCaret();

        call = softphone.CreateCallObject(phoneLine, numberToDial);
        call.CallStateChanged += call_CallStateChanged;
        call.Start();
    }

    private void SetupDevices()
    {
        connector.Connect(microphone, mediaSender);
        connector.Connect(mediaReceiver, speaker);

        mediaSender.AttachToCall(call);
        mediaReceiver.AttachToCall(call);

        microphone.Start();
        speaker.Start();
    }



    void call_CallStateChanged(object sender, CallStateChangedArgs e)
    {
        if (e.State == CallState.Answered)
        {
            WireUpCallEvents();
        }

        if (e.State == CallState.Completed)
        {
            WireDownCallEvents();
        }

        logOutput("Call state: " + e.State);
    }

    private void WireUpCallEvents()
    {
        call.CallStateChanged += (call_CallStateChanged);
        SetupDevices();
    }

    private void WireDownCallEvents()
    {
        call.CallStateChanged -= (call_CallStateChanged);
    }

【问题讨论】:

  • 查看2方SDP协商,work case和non working case协商哪个编解码器?
  • @mail2subhajit 虽然存在编解码器问题(我在解决问题后发现),但根本原因是缺少 nat 设置。 (发布为答案)

标签: c# pbx ozeki


【解决方案1】:

在另一个 PBX 上尝试另一个扩展后,我发现问题是由于未设置附加设置“nat”引起的。一旦我将其设置为“是”值,我就能够在双方上获得 2 路音频。

这是一个 Thridlane PBX,所以设置在“选定的租户 PBX”=>“分机和联系人”=>“用户分机”=>(我使用的分机号码)=>电话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 2021-02-09
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    相关资源
    最近更新 更多