public String XmlCallback(SwitchXmlSearchBinding.XmlBindingArgs args)
        {
            String rv = null; // return value
            switch (args.Section.ToLower())
            {
                case "directory":
                    var dargs = new ConfigurationEventArgs(args);
                    if (DirectoryRequest != null)
                    {
                        var temp = DirectoryRequest;
                        temp(this, dargs);
                        if (dargs.DontProcess)
                            return null;
                        if (dargs.Result != null)
                            rv = dargs.Result.ToXMLString();
                    }
                    break;

                case "dialplan":
                    var dialargs = new ConfigurationEventArgs(args);
                    if(DialPlanRequest != null)
                    {
                        var temp = DialPlanRequest;
                        temp(this, dialargs);
                        if (dialargs.Result != null)
                            rv = dialargs.Result.ToXMLString();
                    }
                    break;
            }

            return rv ?? new fsNotFoundDocument().ToXMLString();
        }
 public ConfigurationEventArgs(SwitchXmlSearchBinding.XmlBindingArgs args)
 {
     DontProcess = false;
     FsArgs = args;
     Result = null;
 }