SIPSorcery.SIP.SIPURI.CopyOf C# (CSharp) Method

CopyOf() public method

public CopyOf ( ) : SIPURI
return SIPURI
        public SIPURI CopyOf()
        {
            SIPURI copy = new SIPURI();
            copy.Scheme = Scheme;
            copy.Host = Host;
            copy.User = User;

            if (Parameters.Count > 0)
            {
                copy.Parameters = Parameters.CopyOf();
            }

            if (Headers.Count > 0)
            {
                copy.Headers = Headers.CopyOf();
            }

            return copy;
        }

Usage Example

Example #1
0
        /// <summary>
        /// Creates an identical copy of the SIP Request for the caller.
        /// </summary>
        /// <returns>New copy of the SIPRequest.</returns>
        public SIPRequest Copy()
        {
            SIPRequest copy = new SIPRequest();

            copy.SIPVersion    = SIPVersion;
            copy.Method        = Method;
            copy.UnknownMethod = UnknownMethod;
            copy.URI           = URI?.CopyOf();
            copy.Header        = Header?.Copy();

            if (_body != null && _body.Length > 0)
            {
                copy._body = new byte[_body.Length];
                Buffer.BlockCopy(copy._body, 0, copy._body, 0, copy._body.Length);
            }

            if (ReceivedRoute != null)
            {
                copy.ReceivedRoute = new SIPRoute(ReceivedRoute.URI, !ReceivedRoute.IsStrictRouter);
            }

            copy.Created                  = Created;
            copy.LocalSIPEndPoint         = LocalSIPEndPoint?.CopyOf();
            copy.RemoteSIPEndPoint        = RemoteSIPEndPoint?.CopyOf();
            copy.SendFromHintChannelID    = SendFromHintChannelID;
            copy.SendFromHintConnectionID = SendFromHintConnectionID;

            return(copy);
        }
All Usage Examples Of SIPSorcery.SIP.SIPURI::CopyOf