Example #1
0
        public SIPCallManager(
            SIPTransport sipTransport,
            SIPEndPoint outboundProxy)
        {
            m_sipTransport  = sipTransport;
            m_outboundProxy = outboundProxy;

            m_sipCallDataLayer = new SIPCallDataLayer();
            m_cdrDataLayer     = new CDRDataLayer();
        }
Example #2
0
        public SIPCallManager(
            SIPTransport sipTransport,
            SIPEndPoint outboundProxy,
            IDbContextFactory <SIPAssetsDbContext> dbContextFactory)
        {
            m_sipTransport  = sipTransport;
            m_outboundProxy = outboundProxy;

            m_sipCallDataLayer = new SIPCallDataLayer(dbContextFactory);
            m_cdrDataLayer     = new CDRDataLayer(dbContextFactory);
        }
Example #3
0
        public SIPHostedService(ILogger <SIPHostedService> logger, IConfiguration config)
        {
            Logger        = logger;
            Configuration = config;

            _sipTransport     = new SIPTransport();
            _bindingsManager  = new SIPRegistrarBindingsManager(MAX_REGISTRAR_BINDINGS);
            _registrarCore    = new RegistrarCore(_sipTransport, false, false);
            _b2bUserAgentCore = new SIPB2BUserAgentCore(_sipTransport, _getB2BDestination);
            _sipCallManager   = new SIPCallManager(_sipTransport, null);
            _cdrDataLayer     = new CDRDataLayer();

            SIPCDR.CDRCreated  += _cdrDataLayer.Add;
            SIPCDR.CDRAnswered += _cdrDataLayer.Update;
            SIPCDR.CDRUpdated  += _cdrDataLayer.Update;
            SIPCDR.CDRHungup   += _cdrDataLayer.Update;
        }
Example #4
0
        public SIPHostedService(
            ILogger <SIPHostedService> logger,
            IConfiguration config,
            IDbContextFactory <SIPAssetsDbContext> dbContextFactory,
            X509Certificate2 tlsCertificate,
            SIPDialPlanManager sipDialPlanManager)
        {
            _logger             = logger;
            _config             = config;
            _tlsCertificate     = tlsCertificate;
            _sipDialPlanManager = sipDialPlanManager;

            _sipTransport = new SIPTransport();

            // Not using the default trace logs from SIP transport as we don't want to
            // log requests from banned addresses.
            EnableTraceLogs();

            _sipDomainManager = new SIPDomainManager(dbContextFactory);
            _sipDomainManager.Load().Wait();

            _bindingsManager  = new SIPRegistrarBindingsManager(new SIPRegistrarBindingDataLayer(dbContextFactory), MAX_REGISTRAR_BINDINGS);
            _registrarCore    = new RegistrarCore(_sipTransport, _bindingsManager, dbContextFactory, _sipDomainManager);
            _b2bUserAgentCore = new SIPB2BUserAgentCore(_sipTransport, dbContextFactory, _sipDialPlanManager, _sipDomainManager);
            _sipCallManager   = new SIPCallManager(_sipTransport, null, dbContextFactory);
            _cdrDataLayer     = new CDRDataLayer(dbContextFactory);
            _subscriberCore   = new SIPSubscriberCore(_sipTransport, dbContextFactory, _sipDomainManager);
            _sipFail2Ban      = new SIPFail2Ban(_sipTransport);

            _registrarCore.OnRegisterFailure      += _sipFail2Ban.RegistrationFailure;
            _b2bUserAgentCore.OnAcceptCallFailure += _sipFail2Ban.AcceptCallFailure;

            SIPCDR.CDRCreated  += _cdrDataLayer.Add;
            SIPCDR.CDRAnswered += _cdrDataLayer.Update;
            SIPCDR.CDRUpdated  += _cdrDataLayer.Update;
            SIPCDR.CDRHungup   += _cdrDataLayer.Update;
        }