* <li>callId:uid of the call, requried, for example: vars.get("$local.callID") </li>
* <li>localAddress:the target phone address, for example: vars.get("$local.localAddress") </li>
* <li>localId:id of the call target, for example: vars.get("$local.localID") </li>
* <li>callAddress:the source phone address, for example: vars.get("$local.callAddress") </li>
* <li>isIncomingCall:Boolean:is the call an incoming or outgoing call, for example: vars.getString("$local.callIsIncoming") == "true" </li>
* <li>state:Number:callstate-constant (Ringing, talking, etc.), for example: Number(vars.get("$local.callState")) </li>
* <li>privateData:Object: additional telephony data when the tapi does provide it, for example: vars.exists("$local.privateData2") ? vars.get("$local.privateData2") : null </li>
* <li>isConnectedCall:Boolean:specifies if the call was redirected ("connected") from somebody else</li>
* </ul>
*
* @example
*
* var ic = new IncomingCallExecutor(callData);
* //most of the logic happens in the handler-fuctions
* sets a callback function for a given call state (for example the state ringing)
*
* @param {primitive} pCallState the state for the given function that will be executed whenver the state is reached
* @param {Function} pFunction the callback-function that will be executed; this function will get no parameter but has access to all object instance properties
*
* @private this function should not be called from outside