Добрый день нужно написать консольную программу(Qt,c++) чтобы делала звонки по sip. Установил pjsua2(pjsip). Далее использую демо программу пытаюсь позвонить. Аккаунт регистрирует и звонок идет , но нету звука. Пробовал и записывать в файл и проигрывать фал - тишина. Опыта ноль. Поэтому прошу помощи.
// Init library
EpConfig ep_cfg;
ep_cfg.logConfig.level = 4;
ep.libInit( ep_cfg );
// Transport
TransportConfig tcfg;
tcfg.port = 5080;
ep.transportCreate(PJSIP_TRANSPORT_UDP, tcfg);
// Start library
ep.libStart();
std::cout << "*** PJSUA2 STARTED ***" << std::endl;
// Add account
AccountConfig acc_cfg;
acc_cfg.idUri = "sip:user7@mangosip.ru";
acc_cfg.regConfig.registrarUri = "sip:mangosip.ru";
acc_cfg.sipConfig.authCreds.push_back( AuthCredInfo("digest", "*","login", 0, "password") );
std::auto_ptr<MyAccount> acc(new MyAccount);
acc->create(acc_cfg);
pj_thread_sleep(2000);
// Make outgoing call
Call *call = new MyCall(*acc);
acc->calls.push_back(call);
CallOpParam prm(true);
prm.opt.audioCount = 1;
prm.opt.videoCount = 0;
call->makeCall("sip:user8@mangosip.ru", prm);
AudioMedia& cap_med = Endpoint::instance().audDevManager().getCaptureDevMedia();
AudioMedia& play_med = Endpoint::instance().audDevManager().getPlaybackDevMedia();
CallInfo ci = call->getInfo();
AudioMedia *aud_med = NULL;
// Find out which media index is the audio
for (unsigned i=0; i<ci.media.size(); ++i) {
if (ci.media[i].type == PJMEDIA_TYPE_AUDIO) {
aud_med = (AudioMedia *)call->getMedia(i);
break;
}
}
if (aud_med) {
// This will connect the sound device/mic to the call audio media
cap_med.startTransmit(*aud_med);
// And this will connect the call audio media to the sound device/speaker
aud_med->startTransmit(play_med);
}
AudioMediaRecorder recorder;
try
{
recorder.createRecorder("/home/alexey/file.wav");
cap_med.startTransmit(recorder);
}
catch(Error& err) {}
pj_thread_sleep(8000);
// Hangup all calls
pj_thread_sleep(8000);
ep.hangupAllCalls();
pj_thread_sleep(4000);
// Destroy library
std::cout << "*** PJSUA2 SHUTTING DOWN ***" << std::endl;
}
ошибка в консоли:
sound_port.c EC suspended because of inactivity
pjsip, qt, sip