Я пытаюсь зарегистрировать pjsua2 «(pjsip)» на pabx sip, этот регистр и работает нормально, когда нет nat, но когда есть nat, он не регистрируется. Я использую стандартные настройки, используемые демо.
bool SipAccount::start(){
this->ep.libCreate();
// Initialize endpoint
this->ep.libInit(this->ep_cfg );
// Create SIP transport. Error handling sample is shown
this->tcfg.port = this->port;
try {
this->ep.transportCreate(PJSIP_TRANSPORT_UDP, this->tcfg);
} catch (Error &err) {
std::cout << err.info() << std::endl;
return false;
}
// Start the library (worker threads etc)
this->ep.libStart();
std::cout << "*** PJSUA2 STARTED ***" << std::endl;
// Configure an AccountConfigthis->acfg.idUri = idUri.toLatin1().data();
this->acfg.regConfig.registrarUri = regUri.toLatin1().data();
this->acfg.callConfig.timerMinSESec = 120;
this->acfg.callConfig.timerSessExpiresSec = 1800;
this->cred.username = this->username.toLatin1().data();
this->cred.scheme = "digest";
this->cred.realm = "*";
this->cred.dataType = 0;
this->cred.data = this->password.toLatin1().data();
this->acfg.sipConfig.authCreds.push_back( this->cred );
// Setup the account
SipLine *l = new SipLine();
l->setHandler(this->handler);
l->create(acfg);
// Here we don't have anything else to do..
this->line = l;
// pj_thread_sleep(10000);
return true;
}
Моя проблема с rport с использованием pjsip, я не установил учетные данные, порт, используемый для связи, является недействительным.
Это образец из заголовка, используемого в тесте
Задача ещё не решена.
Других решений пока нет …