示例#1
0
        public DefaultSipClient(SipClientAccount account)
        {
            if (account == null)
            {
                throw new ArgumentNullException("Invalid account.");
            }

            Account          = account;
            TransactionLayer = new TransactionAgent(Account.RegistrarUri);
        }
示例#2
0
        /// <summary>
        ///     Initialize new sip dialogue.
        /// </summary>
        /// <param name="initRequestMethod"></param>
        /// <param name="requestUri"></param>
        /// <param name="from"></param>
        /// <param name="transactionLayer"></param>
        public SipDialogue(string initRequestMethod, SipUri requestUri, Identification from, ISipTransactionLayer transactionLayer)
            : this()
        {
            From           = from;
            To             = new Identification(from.Uri, null);
            DestinationUri = requestUri;

            _transactionLayer = transactionLayer;
            _transactionLayer.TransactionComplete += PrivateTransactionAgent_TransactionComplete;

            DialogueId       = DialogueHelpers.GenerateCallId();
            _responseHandler = new DefaultResponseHandler();
            _initRequest     = initRequestMethod; // Temporary solution, must be handled by "dialogue flow"

            // TODO create default action with init request method
        }