• Aucun résultat trouvé

G.1.1 Residential Gateway Restart

The following table shows a message sequence that might occur when a call agent (ca) is contacted by two independent residential gateways (rgw1 and rgw2) which have restarted.

Table F.1: Residential Gateway Restart

---|step#| usr1 | rgw1 | ca | rgw2 | usr2 |

|=====|============|============|============|============|===========|

| 1 | | rsip -> | | | |

| | | | <- ack | | |

|---|---|---|---|---|---|

| 2 | | | <- auep | | |

| | | ack -> | | | |

|---|---|---|---|---|---|

| 3+ | | | <- rqnt | | |

| | | ack -> | | | |

|---|---|---|---|---|---|

| 4 | | | | <- rsip | |

| | | | ack -> | | |

|---|---|---|---|---|---|

| 5 | | | auep -> | | |

| | | | | <- ack | |

|---|---|---|---|---|---|

| 6+ | | | rqnt -> | | |

| | | | | <- ack | | Step 1 - RestartInProgress (rsip) from rgw1 to ca

rgw1 uses DNS to determine the domain name of ca and send to the default port of 2727. The command consists of the following:

rsip 1 *@rgw1.whatever.net mgcp 1.0 rm: restart

The "*" is used to inform ca that all endpoints of rgw1 are being restarted, and "restart" is specified as the restart method. The Call Agent "ca" acknowledges the command with an acknowledgement message containing the transaction-id (in this case 1) for the command. It sends the acknowledgement to rgw1 using the same port specified as the source port for the rsip. If none was indicated, it uses the default port of 2727.

200 1 ok

A response code is mandatory. In this case, "200", indicates "the requested transaction was executed normally". The response string is optional. In this case, "ok" is included as an additional

description.

Step 2 - AuditEndpoint (auep) from ca to rgw1 The command consists of the following:

auep 153 *@rgw1.whatever.net mgcp 1.0

The "*" is used to request audit information from rgw1 of all its endpoints. rgw1 acknowledges the command with an acknowledgement message containing the transaction-id (in this case 153) of the command, and it includes a list of its endpoints. In this example, rgw1 has two endpoints, aaln/1 and aaln/2.

200 153 ok

Z: aaln/1@rgw1.whatever.net Z: aaln/2@rgw1.whatever.net

Once it has the list of endpoint ids, ca may send individual

AuditEndpoint commands in which the "*" is replaced by the id of the given endpoint. As its response, rgw1 would replace the endpoint id list returned in the example with the info requested for the

endpoint. This optional message exchange is not shown in this example.

Step 3 - NotificationRequest (rqnt) from ca to each endpoint of rgw1 In this case, ca sends two rqnts, one for aaln/1:

rqnt 154 aaln/1@rgw1.whatever.net mgcp 1.0 r: l/hd(n)

x: 3456789a0

and a second for aaln/2:

rqnt 155 aaln/2@rgw1.whatever.net mgcp 1.0 r: l/hd(n)

x: 3456789a1

Note that in the requested events parameter line, the event is fully specified as "l/hd", i.e., with the package name, in order to avoid any potential ambiguity. This is the recommended behavior. For the sake of clarity, the action, which in this case is to Notify, is explicitly specified by including the "(n)". If no action is

specified, Notify is assumed as the default regardless of the event.

If any other action is desired, it must be stated explicitly.

The expected response from rgw1 to these requests is an acknowledgement from aaln/1 as follows:

200 154 ok and from aaln/2:

200 155 ok

Step 4 RestartInProgress (rsip) from rgw2 to ca rsip 0 *@rgw2.whatever.net mgcp 1.0

rm: restart

followed by the acknowledgement from ca:

200 0 ok

Step 5 - AuditEndpoint (auep) from ca to rgw2 auep 156 *@rgw2.whatever.net mgcp 1.0 followed by an acknowledgement from rgw2:

200 156 ok

z: aaln/1@rgw2.whatever.net z: aaln/2@rgw2.whatever.net

Step 6 - NotificationRequest (rqnt) from ca to each endpoint of rgw2 rqnt 157 aaln/1@rgw2.whatever.net mgcp 1.0

r: l/hd(n) x: 3456789a2

followed by:

rqnt 158 aaln/2@rgw2.whatever.net mgcp 1.0 r: l/hd(n)

x: 3456789a3

with rgw2 acknowledging for aaln/1:

200 157 ok and for aaln/2:

200 158 ok

G.1.2 Call Agent Restart

The following table shows the message sequence which occurs when a call agent (ca) restarts. How it determines the address information of the gateways, in this case rgw1 and rgw2, is not covered in this document. For interoperability, it is RECOMMENDED to provide the ability to configure the call agent to send AUEP (*) to specific addresses and ports.

Table F.2: Residential Gateway Restart

---| # ---| usr1 ---| rgw1 ---| ca ---| rgw2 ---| usr2 ---|

|===|=============|============|============|============|============|

| 1 | | | <- auep | | |

| | | ack -> | | | |

|---|---|---|---|---|---|

| 2+| | | <- rqnt | | |

| | | ack -> | | | |

|---|---|---|---|---|---|

| 3 | | | auep -> | | |

| | | | | <- ack | |

|---|---|---|---|---|---|

| 4+| | | rqnt -> | | |

| | | | | <- ack | | Step 1 - AuditEndpoint (auep) from ca to rgw1

The command consists of the following:

auep 0 *@rgw1.whatever.net mgcp 1.0

The "*" is used to request audit information from rgw1 of all its endpoints. rgw1 acknowledges the command with an acknowledgement message containing the transaction id (in this case 0) of the

command, and it includes a list of its endpoints. In this example, rgw1 has two endpoints, aaln/1 and aaln/2.

200 0 ok

z: aaln/1@rgw1.whatever.net z: aaln/2@rgw1.whatever.net

Once it has the list of endpoint ids, ca may send individual

AuditEndpoint commands in which the "*" is replaced by the id of the given endpoint. As its response, rgw1 would replace the endpoint id list returned in the example with the info requested for the

endpoint. This optional message exchange is not shown in this example.

Step 2 - NotificationRequest (rqnt) off-hook from ca to rgw1 In this case, ca sends two rqnts, one for aaln/1:

rqnt 1 aaln/1@rgw1.whatever.net mgcp 1.0 r: l/hd(n)

x: 234567890

and a second for aaln/2:

rqnt 2 aaln/2@rgw1.whatever.net mgcp 1.0 r: l/hd(n)

x: 234567891

The expected response from rgw1 to these requests is an acknowledgement from aaln/1 as follows:

200 1 ok and from aaln/2:

200 2 ok

Step 3 - AuditEndpoint (auep) from ca to rgw2 auep 3 *@rgw2.whatever.net mgcp 1.0

followed by an acknowledgement from rgw2:

200 3 ok

z: aaln/1@rgw2.whatever.net z: aaln/2@rgw2.whatever.net

Step 4 - NotificationRequest (rqnt) from ca to each endpoint of rgw2 rqnt 4 aaln/1@rgw2.whatever.net mgcp 1.0

r: l/hd(n) x: 234567892 followed by:

rqnt 5 aaln/2@rgw2.whatever.net mgcp 1.0 r: l/hd(n)

x: 234567893

with rgw2 acknowledging for aaln/1:

200 4 ok and for aaln/2:

200 5 ok