コード例 #1
0
ファイル: Account.cs プロジェクト: fanshuxian/PJSIPDotNetSDK
        public override void onIncomingCall(OnIncomingCallParam iprm)
        {
            base.onIncomingCall(iprm);

            var call = new Call(this, iprm.callId, Call.Type.INBOUND);

            // If Do not disturb
            if (DND)
            {
                // hangup;
                var op = new CallOpParam(true);
                op.statusCode = pjsip_status_code.PJSIP_SC_DECLINE;
                call.decline();

                // And delete the call
                //call.Dispose();
                return;
            }

            // Hook into call state
            hookCall(call);

            // Notify stack of the call
            NotifyIncomingCall(call);
        }
コード例 #2
0
        /// <summary>
        /// Notify application on incoming call.
        /// </summary>
        ///<param name="sender">The current sender.</param>
        /// <param name="e">The event parameter.</param>
        private void _voipManager_OnIncomingCall(object sender, OnIncomingCallParam e)
        {
            // Is valid call.
            if (e.CallId >= 0)
            {
                // Create a new call.
                Call            call     = _voipManager.CreateCall(e.CallId);
                Param.CallParam callInfo = new Param.CallParam(call, _voipManager.MediaManager, _recordFilename);

                // Create the call settings.
                CallSetting setting = new CallSetting(true);
                CallOpParam parm    = new CallOpParam(true);
                setting.AudioCount = 1;
                parm.Setting       = setting;

                // Continue ringing.
                parm.Code = StatusCode.SC_RINGING;
                call.Answer(parm);

                // Send a notification to the call.
                Param.OnIncomingCallParam param = new Param.OnIncomingCallParam();
                param.CallID     = e.CallId;
                param.Info       = e.RxData.Info;
                param.SrcAddress = e.RxData.SrcAddress;
                param.WholeMsg   = e.RxData.WholeMsg;
                param.Call       = callInfo;
                param.Contact    = FindContact(param);

                // Call the event handler.
                OnIncomingCall?.Invoke(this, param);
            }
        }
コード例 #3
0
ファイル: Account.cs プロジェクト: waffle-iron/nequeo
 public virtual void onIncomingCall(OnIncomingCallParam prm)
 {
     pjsua2PINVOKE.Account_onIncomingCall(swigCPtr, OnIncomingCallParam.getCPtr(prm));
     if (pjsua2PINVOKE.SWIGPendingException.Pending)
     {
         throw pjsua2PINVOKE.SWIGPendingException.Retrieve();
     }
 }
コード例 #4
0
ファイル: MyAccount.cs プロジェクト: salihy/pjsua2-csharp
        public override void onIncomingCall(OnIncomingCallParam prm)
        {
            base.onIncomingCall(prm);
            var call        = new MyCall(this, prm.callId);
            var callOpParam = new CallOpParam();

            callOpParam.statusCode = pjsip_status_code.PJSIP_SC_OK;
            call.answer(callOpParam);
        }
コード例 #5
0
        public override void onIncomingCall(OnIncomingCallParam prm)
        {
            base.onIncomingCall(prm);
            Console.WriteLine("事件:入方向呼叫");
            var call        = new MyCall(this, prm.callId);
            var callOpParam = new CallOpParam();

            callOpParam.statusCode = pjsip_status_code.PJSIP_SC_RINGING; // pjsip_status_code.PJSIP_SC_OK;
            call.answer(callOpParam);
        }
コード例 #6
0
        public override void onIncomingCall(OnIncomingCallParam prm)
        {
            CallOpParam cprm = new CallOpParam();

            cprm.statusCode = pjsip_status_code.PJSIP_SC_RINGING;
            PjsipCall call = new PjsipCall(this, prm.callId);

            call.answer(cprm);

            if (onAccountIncomingCall != null)
            {
                onAccountIncomingCall(this, call, prm.callId);
            }
        }
コード例 #7
0
 public virtual void onIncomingCall(OnIncomingCallParam prm)
 {
     if (SwigDerivedClassHasMethod("onIncomingCall", swigMethodTypes0))
     {
         pjsua2PINVOKE.Account_onIncomingCallSwigExplicitAccount(swigCPtr, OnIncomingCallParam.getCPtr(prm));
     }
     else
     {
         pjsua2PINVOKE.Account_onIncomingCall(swigCPtr, OnIncomingCallParam.getCPtr(prm));
     }
     if (pjsua2PINVOKE.SWIGPendingException.Pending)
     {
         throw pjsua2PINVOKE.SWIGPendingException.Retrieve();
     }
 }
コード例 #8
0
        public override void onIncomingCall(OnIncomingCallParam iprm)
        {
            var call = new MyCall(this, iprm.callId);

            call.OnCallState += OnCallState;

            _calls.Add(call);
            CallInfo ci = call.getInfo();
            //var prm = new CallOpParam {statusCode = (pjsip_status_code) 200};
            //call.answer(prm);

            //std::cout << "*** Incoming Call: " << ci.remoteUri << " ["
            //          << ci.stateText << "]" << std::endl;

            //calls.push_back(call);
        }
コード例 #9
0
ファイル: VoIPManager.cs プロジェクト: waffle-iron/nequeo
 /// <summary>
 /// Notify application on incoming call.
 /// </summary>
 /// <param name="sender">The current sender.</param>
 /// <param name="e">The event parameter.</param>
 private void _account_OnIncomingCall(object sender, OnIncomingCallParam e)
 {
     OnIncomingCall?.Invoke(this, e);
 }
コード例 #10
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(OnIncomingCallParam obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
コード例 #11
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(OnIncomingCallParam obj)
 {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
 }
コード例 #12
0
ファイル: Account.cs プロジェクト: Reltik/PJSip-CSharp
 public virtual void onIncomingCall(OnIncomingCallParam prm)
 {
     if (SwigDerivedClassHasMethod("onIncomingCall", swigMethodTypes0)) pjsua2PINVOKE.Account_onIncomingCallSwigExplicitAccount(swigCPtr, OnIncomingCallParam.getCPtr(prm)); else pjsua2PINVOKE.Account_onIncomingCall(swigCPtr, OnIncomingCallParam.getCPtr(prm));
     if (pjsua2PINVOKE.SWIGPendingException.Pending) throw pjsua2PINVOKE.SWIGPendingException.Retrieve();
 }
コード例 #13
0
ファイル: Program.cs プロジェクト: sbeat313/PjSipForCSharp
 public override void onIncomingCall(OnIncomingCallParam prm)
 => base.onIncomingCall(prm);