A method, comprising: receiving, by a provisioning server, a provisioning request from a packet telephony device; receiving device configuration information for the packet telephony device, wherein the device configuration information is received together with the provisioning request, wherein the device configuration information includes an identifier for an operating system and an identifier for locale and language for the packet telephony device; determining, by the provisioning server, whether the packet telephony device needs a software update based on the received device configuration information; and if the provisioning server determines that the packet telephony device needs a software update: when the provisioning server has an appropriate software update package, the method comprises sending the appropriate software update package from the provisioning server to the packet telephony device for installation on the packet telephony device; and when the provisioning server does not have the appropriate software update package, the method comprises retrieving, by the provisioning server, the appropriate software update package from a publishing server and then sending the appropriate software update package to the packet telephony device for installation on the packet telephony device. receiving, by a provisioning server, a provisioning request from a packet telephony device; receiving device configuration information for the packet telephony device, wherein the device configuration information is received together with the provisioning request, wherein the device configuration information includes an identifier for an operating system and an identifier for locale and language for the packet telephony device; determining, by the provisioning server, whether the packet telephony device needs a software update based on the received device configuration information; and if the provisioning server determines that the packet telephony device needs a software update: when the provisioning server has an appropriate software update package, the method comprises sending the appropriate software update package from the provisioning server to the packet telephony device for installation on the packet telephony device; and when the provisioning server does not have the appropriate software update package, the method comprises retrieving, by the provisioning server, the appropriate software update package from a publishing server and then sending the appropriate software update package to the packet telephony device for installation on the packet telephony device. when the provisioning server has an appropriate software update package, the method comprises sending the appropriate software update package from the provisioning server to the packet telephony device for installation on the packet telephony device; and when the provisioning server does not have the appropriate software update package, the method comprises retrieving, by the provisioning server, the appropriate software update package from a publishing server and then sending the appropriate software update package to the packet telephony device for installation on the packet telephony device.