Subscriber Relation Context#

When adding a Subscriber, multiple services are often added at the same time - for example, multiple Phones with multiple Lines.

During the “Add” operation, the AddSubscriberNew workflow therefore iterates (loops) over these added services and makes the data for each instance available in a context variable.

Consider for example the following workflow input context for adding a simple Subscriber:

{
    "input": {
        "userid": "TestUserX77",
        "firstName": "Test",
        "lastName": "UserX77",
        "mailid": "[email protected]",
        "Phone": [
            {
                "name": "SEP111222333444",
                "product": "Cisco Unified Client Services Framework",
                "protocol": "SIP",
                "lines": {
                    "line": [
                        {
                            "dirn": {
                                "pattern": "82007",
                                "routePartitionName": "Cu1-DirNum-PT"
                            }
                        }
                    ]
                }
            },
            {
                "name": "SEP000222333444",
                "product": "Cisco Unified Client Services Framework",
                "protocol": "SIP",
                "lines": {
                    "line": [
                        {
                            "dirn": {
                                "pattern": "82008",
                                "routePartitionName": "Cu1-DirNum-PT"
                            }
                        }
                    ]
                }
            }
        ]
    }
}

The input context shows there are two phones, each with one line. The AddSubscriberNew workflow will loop over the phones and put the entire contents of each instance in a context macro called {{ input.PhoneX }}.

Therefore, when it iterates over the first Phone, {{ input.PhoneX }} will be equal to:

{
    "name": "SEP111222333444",
    "product": "Cisco Unified Client Services Framework",
    "protocol": "SIP",
    "lines": {
        "line": [
            {
                "dirn": {
                    "pattern": "82007",
                    "routePartitionName": "Cu1-DirNum-PT"
                }
            }
        ]
    }
}

In particular, the input context variable {{ input.PhoneX.name }} will be equal to SEP111222333444. During the second iteration, {{ input.PhoneX.name }} will be equal to SEP000222333444.