A thought came to my mind while exploring use keyword driven framework.

Please correct me if I'm wrong, the concept of using this framework requires that the automation tools used by the framework be mostly stateless. Stateless in the sense that you can send a command to the tool and it will do the automation command given. If needed, perhaps you would have to establish a session to the tool, issue command, then tear down the session, seldom unless required would you keep the session alive the whole time to be able to keep sending commands to the tool.

This issue perhaps can be better demonstrated with telephony automation, like SIP. To make a call, you have to send a sequence of SIP messages and get back certain responses, and in terms of plain old telephony, you have to go offhook to make a call, and then do things like put call on hold, or do a call transfer or conference, and at end hang up. All this requires a phone call session that involves state.

So it seems very hard to try to fit that telephony model into keyword framework and still be able to maintain state, allowing you to issue a command like call userA, transferto userB, hangup.

I believe all the existing SIP tools are state-based (sipp, sipr, etc.) or am I wrong? So you can't break it up into stateless commands to make a call.

So keyword framework is better suited to stateless automation, which UI fits better.

Your thoughts on this?