Я работал над проектом Softphone в c # и использовал Ozeki VoIP SDK.
До сих пор я получил софтфон, успешно регистрирующий и совершающий исходящие вызовы. Тем не менее, я не слышу вызываемого абонента, но они слышат меня. (Я являюсь программным телефоном, а вызываемая сторона - телефоном Cisco SPA504G)
Двухстороннее аудио прекрасно при использовании других приложений (таких как X-Lite)
SIP Trace показывает, что я отправляюно не получая никаких пакетов RTP, это то, что я сделал неправильно в своем коде (см. ниже) или проблема на стороне УАТС. (Третья АТС)
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);
}