This diagram shows how Landline part of the system works. Once controller triggers a event, either for incoming call or outgoing call, LandlineHandler takes the control and starts to process. However, before handling the test, LandlineHandler first of all pings the SIP server. If it succeeds, then it tries to register SIP server. If it succeeds again, according to the parameter that Controller passes, it handles the call and reports to Controller. All the error messages are passed to Controller. After every process, either success or fail, Controller should store the information on the database for the further operations.