Patent ID: 8130677

Claim:
A method for automatic discovery and/or automatic provisioning of a communications device in a network environment, said communications device being coupled to a network appliance, the method having the steps of: providing a program application executable to manage the automatic discovery and/or automatic provisioning of said communications device, said program application being a software and/or hardware module associated with the network appliance; said program application executing instructions to read existing database configuration files and configuration templates in a computer readable medium associated with a database; updating external configuration files using system calls to scripts that apply parameter substitution and system-specific customization of said configuration files and configuration templates; starting a Universal Plug and Play (UPnP) manager to forward Hypertext Transfer Protocol Secure (HTTPS), Session Initiation Protocol (SIP) and Real-time Transport Protocol (RTP) ports as specified in said database; starting a thread for responding to UPnP discovery requests; and starting an interface manager between said program application and said network appliance, which starts a thread for processing requests from Personal Home Page: Hypertext Preprocessor (PHP) scripts using a PHP Application Program Interface (API); wherein said program application runs in an endless loop until said program application is terminated, and said program application having a plurality of threads to handle communication to and from said program application, said program application comprising: a combination of a binary portion, PHP/ Extensible Markup Language (XML) scripts and HyperText Markup Language (HTML) pages, said binary portion comprising multiple subsystems for managing various inputs and outputs from internal and external sources; and wherein said multiple subsystems comprise: an HTTPS client manager to manage XML posts to said communications device; a virtual network computing interface manager to manage asynchronous calls from PHP scripts; a UPnP manager to manage UPnP discovery; a network appliance proxy to allow said network appliance to manage the execution of network appliance commands using an Asterisk Gateway Interface (AGI) interface; a database manager for managing any reads/writes to an internal database and generation configuration data for said communications device: a backup and restore manager to allow reconstruction of configuration files.