A method of enabling user services in a communication network with a plurality of terminal users, comprising the following steps executed by a user terminal: executing an initiating phase comprising: - executing a group discovery process for discovering a plurality of user terminals, in order to form a user group; - exchanging terminal capabilities, comprising functional resources, with the plurality of user terminals; - creating a basic group template, wherein the basic group template is a list of discovered user terminals and their respective terminal capabilities; - defining a group service and acquiring an activity scheme for the group service that specifies actions and functions, necessary for consuming the group service; executing a run-time phase, executed subsequent to the initiating phase, the run-time phase comprising: - receiving, from one of the plurality of user terminals in the user group, a group service request, requesting the defined group service; - identifying, based on the basic group template, a subset of the plurality of user terminals having functional resources to support the requested group service, as defined in the activity scheme; - assigning functions and actions, defined in the activity scheme for the requested group service, to the subset of the plurality of user terminals, based on the exchanged terminal capabilities, and - sending activity orders, corresponding to the assigned functions and actions, to the identified subset of the plurality of user terminals, wherein the activity orders instruct each of the user terminals in the subset of the plurality of user terminals how to execute the requested group service. executing an initiating phase comprising: - executing a group discovery process for discovering a plurality of user terminals, in order to form a user group; - exchanging terminal capabilities, comprising functional resources, with the plurality of user terminals; - creating a basic group template, wherein the basic group template is a list of discovered user terminals and their respective terminal capabilities; - defining a group service and acquiring an activity scheme for the group service that specifies actions and functions, necessary for consuming the group service; - executing a group discovery process for discovering a plurality of user terminals, in order to form a user group; - exchanging terminal capabilities, comprising functional resources, with the plurality of user terminals; - creating a basic group template, wherein the basic group template is a list of discovered user terminals and their respective terminal capabilities; - defining a group service and acquiring an activity scheme for the group service that specifies actions and functions, necessary for consuming the group service; executing a run-time phase, executed subsequent to the initiating phase, the run-time phase comprising: - receiving, from one of the plurality of user terminals in the user group, a group service request, requesting the defined group service; - identifying, based on the basic group template, a subset of the plurality of user terminals having functional resources to support the requested group service, as defined in the activity scheme; - assigning functions and actions, defined in the activity scheme for the requested group service, to the subset of the plurality of user terminals, based on the exchanged terminal capabilities, and - sending activity orders, corresponding to the assigned functions and actions, to the identified subset of the plurality of user terminals, wherein the activity orders instruct each of the user terminals in the subset of the plurality of user terminals how to execute the requested group service. - receiving, from one of the plurality of user terminals in the user group, a group service request, requesting the defined group service; - identifying, based on the basic group template, a subset of the plurality of user terminals having functional resources to support the requested group service, as defined in the activity scheme; - assigning functions and actions, defined in the activity scheme for the requested group service, to the subset of the plurality of user terminals, based on the exchanged terminal capabilities, and - sending activity orders, corresponding to the assigned functions and actions, to the identified subset of the plurality of user terminals, wherein the activity orders instruct each of the user terminals in the subset of the plurality of user terminals how to execute the requested group service.