Patent ID: 8041800

Claim:
A computer implemented method of automatic orchestration of a dynamic multiple party, multiple media communications session in a communications network, the computer implemented method comprising: creating a library of telephony tasks in a communication orchestration service of telephony tasks that specify transitions in a network, wherein the transitions comprise state changes in sets of data; establishing, in the communication orchestration service, a set of predicates that correspond to each transition in the library of telephony tasks, wherein predicates within the set of predicates comprise discrete Session Initiated Protocol communications paradigms; receiving, by the communication orchestration service from a user using a first computer system, a high-level goal that states a problem of a communications session, wherein the communication orchestration service exists entirely outside of the first computer system; identifying, by the communication orchestration service, involved users for the communications session based on the goal, wherein the involved users use a plurality of additional computer systems, and wherein the communication orchestration service exists entirely outside of the plurality of additional computer systems; identifying, by the communication orchestration service, potential resources for the communications session based on the goal; wherein identifying potential resources includes: looking up a plurality of devices for involved users, wherein the plurality of devices are session initiated protocol registered devices; determining capabilities of the plurality of devices including determining which at least one of a plurality of media types is used by each one of the devices, wherein at least two of the plurality of devices use different ones of the plurality of media types simultaneously, and wherein the user using the first computer system uses only text communication and a user using one of the plurality of additional computer systems uses only voice communication; and determining available media conversion services in the communications network for converting text communications into voice communications and voice communications into text communications, wherein the user using the first computer system communicates with a second user using only text and the second user communicates with the user using the first computer system using only speech; and searching, by the communication orchestration service based on the goal, the set of predicates, the capabilities of the session initiation protocol registered devices, and available media conversion services, for one or more solutions that satisfy the goal.