Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. sip *mysip = new sip;
  2. QThread *sip_thread = new QThread(this);
  3.  
  4. mysip->moveToThread(sip_thread);
  5. sip_thread->start();
  6.  
  7. mysip->resiveSipParameters(login,pass); //передаем логин и пароль в sip.cpp для запуска авторизации
  8. mysip->startSip();
  9.  
  10. sip::sip(QObject *parent) : QObject(parent)
  11. {
  12.  
  13. }
  14.  
  15. void sip::resiveSipParameters(QString login, QString pass)
  16. {
  17. SipLogin = login;
  18. SipPass = pass;
  19. qDebug() << SipLogin;
  20. qDebug() << SipPass;
  21.  
  22. }
  23.  
  24. void sip::startSip()
  25. {
  26. int ret = 0;
  27. Endpoint ep;
  28.  
  29. try
  30. {
  31. ep.libCreate();
  32. // sipReady(ep);
  33. ret = PJ_SUCCESS;
  34. }
  35. catch (Error & err)
  36. {
  37. // std::cout << "Exception: " << err.info() << std::endl;
  38. // ret = 1;
  39. }
  40.  
  41.  
  42. // Init library
  43. EpConfig ep_cfg;
  44. ep_cfg.logConfig.level = 6;
  45. ep_cfg.logConfig.filename = "/home/alexey/crm/sip.log";
  46. ep.libInit(ep_cfg);
  47.  
  48.  
  49. // Transport
  50. TransportConfig tcfg;
  51. tcfg.port = 5060; //5080 mango
  52. ep.transportCreate(PJSIP_TRANSPORT_UDP, tcfg);
  53.  
  54. // Start library
  55. ep.libStart();
  56. // std::cout << "*** PJSUA2 STARTED ***" << std::endl;
  57.  
  58.  
  59. // Add account
  60. AccountConfig acc_cfg;
  61. acc_cfg.idUri = ("sip:"+SipLogin+"@***.mangosip.ru").toStdString();
  62. acc_cfg.regConfig.registrarUri = "sip:***.mangosip.ru";
  63. acc_cfg.sipConfig.authCreds.push_back(AuthCredInfo("digest", "*", SipLogin.toStdString(), 0, SipPass.toStdString())); //подставляем полученный логин и пароль
  64.  
  65. // std::auto_ptr<MyAccount> acc(new MyAccount);
  66. // acc->create(acc_cfg);
  67. qDebug() << SipLogin;
  68. qDebug() << SipPass;
  69.  
  70. MyAccount *acc = new MyAccount;
  71. try
  72. {
  73. acc->create(acc_cfg);
  74. }
  75. catch(Error& err)
  76. {
  77. std::cout << "Account creation error: " << err.info() << std::endl;
  78. }
  79.  
  80.  
  81. // Just wait for ENTER key
  82. std::cout << "Press ENTER to quit..." << std::endl;
  83. std::cin.get();
  84. }
  85.  
  86. QObject::connect(sip_thread, &QThread::started, mysip, [&login, &pass, mysip]() {
  87. mysip->resiveSipParameters(login, pass);
  88. mysip->startSip();
  89. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement