1. A method, comprising: receiving, on a user device, a graphical user interface from a network device; displaying, on the user device, the graphical user interface, which allows a user to control a softphone operating on the user device; receiving a user selection via the graphical user interface; generating, by a context handler operating on the user device, a JavaScript Object Notation with Padding (JSONP) request based on the user selection; transmitting, by the context handler, the JSONP request to a call manager operating on the user device, wherein the call manager provides communication between the softphone and the context handler; obtaining, by the context handler and from the call manager, in response to the transmitting, a JSONP response that includes new state data indicating a state of the softphone resulting from an execution of the user selection by the softphone; and updating, by the context handler, the graphical user interface in correspondence to the new state data.