Cisco NAC ゲスト サーバ インストレーション/ コンフィギュレーション ガイド リリース 2.1
API サポート
API サポート
発行日;2013/02/13 | 英語版ドキュメント(2012/11/27 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 8MB) | フィードバック

目次

API サポート

概要

認証要件

時刻フォーマット

API の操作

XML 応答

create

create の使用例

edit

edit の使用例

getDetails

getDetails の使用例

suspend

suspend の使用例

notifyEmail

notifyEmail の使用例

notifySms

notifySms の使用例

getVersion

getVersion の使用例

search

search の使用例

StartTime、EndTime、Timezone を使用した search の例

ステータス コード

エラー コード

有効なタイムゾーン

API サポート

この付録では、Cisco NAC ゲスト サーバの API サポートについて説明します。内容は以下のとおりです。

「概要」

「認証要件」

「時刻フォーマット」

「API の操作」

「ステータス コード」

「エラー コード」

「有効なタイムゾーン」

概要

Cisco NAC ゲスト サーバには、POST 操作や GET 操作で HTTP または HTTPS を使用して特定の操作を実行できる API があります。NAC ゲスト サーバの API には、 https://serveripaddress/sponsor/api/GuestAccount.php または http://serveripaddress//sponsor/api/GuestAccount.php からアクセスできます。

 

この API を使用する場合は、次の点に注意してください。

プログラミング言語(C、Java、Perl、PHP など)の知識が必要です。それらのプログラムを実行してこの API を呼び出すマシンに、関連するソフトウェアをインストールする必要があります。

Cisco TAC では、API を使用したカスタム プログラムのデバッグはサポートしません。API 呼び出しの実行だけをサポートします。

認証要件

HTTP または HTTPS を使用した API へのアクセスは、「HTTP または HTTPS を使用したゲスト サーバへのアクセス」で定義した Web 管理インターフェイスの SSL の設定に基づきます。

以下のコンポーネントに対するスポンサーとして認証するには、有効なユーザ名とパスワードも必要になります。

ローカル データベース

管理設定で定義した Active Directory サーバ

管理設定で定義した LDAP サーバ

管理設定で定義した RADIUS サーバ

たとえば、次の呼び出しでは、ユーザ名「sponsor」とパスワード「mypass」を使用しています。

http://1.1.1.1/sponsor/api/GuestAccount.php?username=sponsor&password=mypass&method=create
&firstName=John&surname=Carter&email=test@cisco.com&role=DEFAULT&company=Cisco&mobileNumbe
r=1234548434532&phoneCode=123&startTime=20100210T10%3A45%3A00&endTime=20100211T13%3A15%3A0
0&timezone=Europe%2FLondon&timeProfile=default
 

) すべてのフィールドが符号化された URL である必要があります。たとえば、日付/時刻フィールドは符号化されているため、コロンが %3A に置き換えられています。


時刻フォーマット

すべての日付/時刻を特定の ISO 8601 形式である YYYYMMDDTHH:MM:SS で指定する必要があります。この形式の項目は次のとおりです。

YYYY は 4 桁の西暦です。

MM は 2 桁の月です。

DD は 2 桁の日です。

T はリテラルの T です。

HH は 2 桁の時間です(24 時間形式)。

MM は 2 桁の分です。

SS は 2 桁の秒です。

たとえば、20100304T08:45:30 は、2010 年 3 月 4 日の 8 時 45 分 30 秒を示します。

詳細については、 http://en.wikipedia.org/wiki/ISO_8601 を参照してください。

API の操作

API を使用するには、POST 操作または GET 操作のいずれかで Cisco NAC ゲスト サーバ API に詳細を渡します。

次の例では、GET 操作で API と Cisco NAC ゲスト サーバのバージョンを取得します。

https://1.1.1.1/sponsor/api/GuestAccount.php?username=sponsor&password=mypass&method=getVersion
 

データはすべて XML の形式で返されます。

XML 応答

応答はすべて次のような XML 形式になります。

<?xml version="1.0"?>
<response>
<status>
<code>0</code>
<message>Success</message>
</status>
....
</response>
 

エラーが発生した場合は、code 要素と message 要素にエラー コードとエラー テキストが設定されます。内部エラーの場合は、問題の解決に役立つ開発者向けの情報を含む <details> 要素も返されます。

create

create メソッドでは、スポンサーの権限に応じてゲスト ユーザ アカウントを作成します。

必須入力パラメータ

method(必須):create

username(必須):スポンサー アカウントのユーザ名

password(必須):スポンサー アカウントのパスワード

firstName(ポリシーによる):ゲスト ユーザの名

surname(ポリシーによる):ゲスト ユーザの姓

email(ポリシーによる):ゲスト ユーザの電子メール アドレス

role(必須):ゲスト ユーザを作成するロール

company(ポリシーによる):ゲスト ユーザの会社名

phonecode(ポリシーによる):ゲスト ユーザの携帯電話の電話コード(+44 など)

mobilenumber(ポリシーによる):ゲスト ユーザの携帯電話の番号

timezone(必須):ゲスト アカウントを作成するタイムゾーン(詳細については、「有効なタイムゾーン」を参照してください)

option1(ポリシーによる):任意指定のデータ フィールド 1

option2(ポリシーによる):任意指定のデータ フィールド 2

option3(ポリシーによる):任意指定のデータ フィールド 3

option4(ポリシーによる):任意指定のデータ フィールド 4

option5(ポリシーによる):任意指定のデータ フィールド 5

startTime(必須):アカウントの開始時刻

endTime(必須):アカウントの終了時刻

timeProfile(必須):アカウントの作成時に使用する時間プロファイル

create の使用例


ステップ 1 以下の詳細を指定してゲスト アカウントを作成する例を次に示します。

名:John

姓:Carter

電子メール:johncart@cisco.com

ロール:DEFAULT(ユーザ ロール インターフェイスで作成)

会社:Cisco

携帯電話の番号:12345 48434532

電話コード:123

開始時刻:2008 年 11 月 29 日(0 時)

終了時刻:2008 年 11 月 30 日(0 時)

タイムゾーン:Europe/London

時間プロファイル:StartEnd(時間プロファイル ユーザ インターフェイスで作成)

ステップ 2 API の呼び出しは次のようになります。

http://x.x.x.x/sponsor/api/GuestAccount.php?username=local&password=local&method=create&fi
rstName=John&surname=Carter&email=johncart%40cisco.com&role=DEFAULT&company=Cisco&mobileNu
mber=12345+48434532&phoneCode=123&startTime=2008-11-29&endTime=2008-11-30&timezone=Europe%
2FLondon&timeProfile=StartEnd
 

ステップ 3 成功すると、次のような応答が返されます。

<?xml version="1.0"?>
<response>
<status>
<code>0</code>
<message>Success</message>
</status>
<account/>
<account>
<id>815</id>
<firstName>John</firstName>
<surname>Carter</surname>
<company>Cisco</company>
<email>johncart@cisco.com</email>
<mobileNumber>12345 48434532</mobileNumber>
<phoneCode>123</phoneCode>
<option1/>
<option2/>
<option3/>
<option4/>
<option5/>
<username>JohnCarter10</username>
<password>!B,4N!32(F1{VJ2</password>
<status>1</status>
<bulkId/>
<timezone>Europe/London</timezone>
<startTimeT>2008-11-29T00:00:00+00:00</startTimeT>
<endTimeT>2008-11-30T00:00:00+00:00</endTimeT>
<role/>
<createdTime/>
<modifiedUsername>1</modifiedUsername>
<timeProfile>
<id>2</id>
<name>StartEnd</name>
<description/>
<duration>0</duration>
<accountType>1</accountType>
<durationUnit>Days</durationUnit>
<durationInUnits>0</durationInUnits>
<restriction>
<id>43</id>
<weekDay>1</weekDay>
<startTime>00:00</startTime>
<endTime>08:59</endTime>
</restriction>
<restriction>
<id>45</id>
<weekDay>3</weekDay>
<startTime>00:00</startTime>
<endTime>08:59</endTime>
</restriction>
<restriction>
<id>50</id>
<weekDay>3</weekDay>
<startTime>17:00</startTime>
<endTime>23:59</endTime>
</restriction>
<restriction>
<id>51</id>
<weekDay>4</weekDay>
<startTime>17:00</startTime>
<endTime>23:59</endTime>
</restriction>
<restriction>
<id>47</id>
<weekDay>5</weekDay>
<startTime>00:00</startTime>
<endTime>08:59</endTime>
</restriction>
<restriction>
<id>54</id>
<weekDay>7</weekDay>
<startTime>00:00</startTime>
<endTime>23:59</endTime>
</restriction>
</timeProfile>
</account>
</response>
 


 

edit

edit メソッドでは、スポンサーの権限に応じて既存のユーザ アカウントを編集します。

既存のアカウントに関連付けられたフィールドを編集できますが、以下は例外です。

開始時刻

ロール

時間プロファイル

タイムゾーン

アカウントを編集するには、「create」 メソッドで返されるアカウント ID を指定する必要があります。

必須入力パラメータ

method(必須):edit

id(必須):編集するアカウントのデータベース ID

username(必須):スポンサー アカウントのユーザ名

password(必須):スポンサー アカウントのパスワード

firstName(任意):ゲスト ユーザの名

surname(任意):ゲスト ユーザの姓

email(任意):ゲスト ユーザの電子メール アドレス

group(任意):ゲスト ユーザを作成するロール

company(任意):ゲスト ユーザの会社名

phonecode(任意):ゲスト ユーザの携帯電話の電話コード(+44 など)

cellnumber(任意):ゲスト ユーザの携帯電話の番号

timezone(任意):ゲスト アカウントを作成するタイムゾーン(詳細については、「有効なタイムゾーン」を参照してください)

option1(任意):任意指定のデータ フィールド 1

option2(任意):任意指定のデータ フィールド 2

option3(任意):任意指定のデータ フィールド 3

option4(任意):任意指定のデータ フィールド 4

option5(任意):任意指定のデータ フィールド 5

startTime(任意):アカウントの開始時刻

endTime(任意):アカウントの終了時刻

timeProfile(任意):アカウントの作成時に使用する時間プロファイル

edit の使用例

ID が 794 であるアカウントの携帯電話の番号を変更する例を次に示します。

http://x.x.x.x/sponsor/api/GuestAccount.php?username=local&password=local&method=edit&id=794&mobileNumber=12345678

 

「getDetails」 メソッドを使用した場合と同様に、アカウントのすべての詳細が返されます。

<?xml version="1.0"?>
<response>
<status>
<code>0</code>
<message>Success</message>
</status>
<account/>
<account>
<id>794</id>
<firstName>John</firstName>
<surname>Carter</surname>
<company>Cisco</company>
<email>johncart@cisco.com</email>
<mobileNumber>12345678</mobileNumber>
<phoneCode>123</phoneCode>
<option1>1</option1>
<option2>1</option2>
<option3>1</option3>
<option4>1</option4>
<option5>1</option5>
<username>jcarter</username>
<password>cisco</password>
<status>1</status>
<bulkId/>
<timezone>Europe/London</timezone>
<startTimeT>2008-10-28T00:00:00+00:00</startTimeT>
<endTimeT>2008-10-29T00:00:00+00:00</endTimeT>
<role/>
<createdTime/>
<modifiedUsername/>
<usage>
<startTime>2008-08-07T04:06:32+01:00</startTime>
<endTime>2008-08-07T04:06:33+01:00</endTime>
<ipAddress>4.5.6.7</ipAddress>
</usage>
<usage>
<startTime>2008-10-02T22:00:00+01:00</startTime>
<endTime>2008-10-03T00:30:00+01:00</endTime>
<ipAddress>4.5.6.7</ipAddress>
</usage>
<timeProfile>
<id>2</id>
<name>StartEnd</name>
<description/>
<duration>0</duration>
<accountType>1</accountType>
<durationUnit>Days</durationUnit>
<durationInUnits>0</durationInUnits>
<restriction>
<id>43</id>
<weekDay>1</weekDay>
<startTime>00:00</startTime>
<endTime>08:59</endTime>
</restriction>
<restriction>
<id>45</id>
<weekDay>3</weekDay>
<startTime>00:00</startTime>
<endTime>08:59</endTime>
</restriction>
<restriction>
<id>50</id>
<weekDay>3</weekDay>
<startTime>17:00</startTime>
<endTime>23:59</endTime>
</restriction>
<restriction>
<id>51</id>
<weekDay>4</weekDay>
<startTime>17:00</startTime>
<endTime>23:59</endTime>
</restriction>
<restriction>
<id>47</id>
<weekDay>5</weekDay>
<startTime>00:00</startTime>
<endTime>08:59</endTime>
</restriction>
<restriction>
<id>54</id>
<weekDay>7</weekDay>
<startTime>00:00</startTime>
<endTime>23:59</endTime>
</restriction>
</timeProfile>
</account>
</response>
 

getDetails

getDetails API では、スポンサーの権限に応じてユーザのアカウントの詳細を取得します。

必須入力パラメータ

method(必須):getDetails

username(必須):スポンサー アカウントのユーザ名

password(必須):スポンサー アカウントのパスワード

id(1 つは必須):取得するアカウントの ID

getDetails の使用例


ステップ 1 既存のアカウントの詳細を取得するには、getDetails API 呼び出しを使用し、「create」 メソッドで返されるアカウントの ID を渡します。

http://x.x.x.x/sponsor/api/GuestAccount.php?username=local&password=local&method=getDetails&id=815
 

ステップ 2 成功すると、次のような応答が返されます。

<?xml version="1.0"?>
<response>
<status>
<code>0</code>
<message>Success</message>
</status>
<account/>
<account>
<id>815</id>
<firstName>John</firstName>
<surname>Carter</surname>
<company>Cisco</company>
<email>johncart@cisco.com</email>
<mobileNumber>12345 48434532</mobileNumber>
<phoneCode>123</phoneCode>
<option1>aaa</option1>
<option2>bbb</option2>
<option3/>
<option4>ddd</option4>
<option5>eee</option5>
<username>jcarter</username>
<password>*****</password>
<status>1</status>
<bulkId/>
<timezone>Europe/London</timezone>
<startTimeT>2008-10-29T00:00:00+00:00</startTimeT>
<endTimeT>2008-10-30T00:00:00+00:00</endTimeT>
<role/>
<createdTime/>
<modifiedUsername/>
<usage>
<startTime>2008-08-07T04:06:32+01:00</startTime>
<endTime>2008-08-07T04:06:33+01:00</endTime>
<ipAddress>4.5.6.7</ipAddress>
</usage>
<usage>
<startTime>2008-10-02T22:00:00+01:00</startTime>
<endTime>2008-10-03T00:30:00+01:00</endTime>
<ipAddress>4.5.6.7</ipAddress>
</usage>
<timeProfile>
<id>2</id>
<name>StartEnd</name>
<description/>
<duration>0</duration>
<accountType>1</accountType>
<durationUnit>Days</durationUnit>
<durationInUnits>0</durationInUnits>
<restriction>
<id>43</id>
<weekDay>1</weekDay>
<startTime>00:00</startTime>
<endTime>08:59</endTime>
</restriction>
<restriction>
<id>45</id>
<weekDay>3</weekDay>
<startTime>00:00</startTime>
<endTime>08:59</endTime>
</restriction>
<restriction>
<id>50</id>
<weekDay>3</weekDay>
<startTime>17:00</startTime>
<endTime>23:59</endTime>
</restriction>
<restriction>
<id>51</id>
<weekDay>4</weekDay>
<startTime>17:00</startTime>
<endTime>23:59</endTime>
</restriction>
<restriction>
<id>47</id>
<weekDay>5</weekDay>
<startTime>00:00</startTime>
<endTime>08:59</endTime>
</restriction>
<restriction>
<id>54</id>
<weekDay>7</weekDay>
<startTime>00:00</startTime>
<endTime>23:59</endTime>
</restriction>
</timeProfile>
</account>
</response>


 

suspend

suspend メソッドでは、スポンサーの権限に応じてユーザ アカウントを一時停止します。

必須入力パラメータ

method(必須):suspend

username(必須):スポンサー アカウントのユーザ名

password(必須):スポンサー アカウントのパスワード

id(必須):一時停止するアカウントのデータベース ID

suspend の使用例

suspend メソッドを実行すると、アカウントが一時停止され、「getDetails」 を実行した場合と同じ XML 応答が返されます。

http://x.x.x.x/sponsor/api/GuestAccount.php?username=local&password=local&method=suspend&&&&id=815

notifyEmail

notifyEmail メソッドでは、ゲストの電子メール アカウントに電子メール メッセージを送信します。「getDetails」 を実行した場合と同じ XML が返されます。

必須入力パラメータ

method(必須):notifyEmail

username(必須):スポンサー アカウントのユーザ名

password(必須):スポンサー アカウントのパスワード

id(必須):電子メールを送信するアカウントのデータベース ID

from(必須):電子メールの送信元の電子メール アドレス

to(必須):電子メールの送信先の電子メール アドレス

notifyEmail の使用例

http://x.x.x.x/sponsor/api/GuestAccount.php?username=local&password=local&method=notifyEmail.&&&&id=815.

notifySms

notifySms メソッドでは、ゲストの携帯電話に SMS メッセージを送信します。「getDetails」 を実行した場合と同じ XML が返されます。

必須入力パラメータ

method(必須):notifySms

username(必須):スポンサー アカウントのユーザ名

password(必須):スポンサー アカウントのパスワード

id(必須):電子メールを送信するアカウントのデータベース ID

notifySms の使用例

http://x.x.x.x/sponsor/api/GuestAccount.php?username=local&password=local&method=notifySms&&&&id=815.

getVersion

getVersion メソッドでは、現在の API のバージョンを表示します。

必須入力パラメータ

method(必須):getVersion

username(必須):スポンサー アカウントのユーザ名

password(必須):スポンサー アカウントのパスワード

getVersion の使用例

呼び出しの結果、次のような形式の応答が返されます。

<?xml version="1.0"?>
<response>
<status>
<code>0</code>
<message>Success</message>
</status>
<appName>Cisco NAC Guest Server</appName>
<version>2.0.2</version>
<majorVersion>2</majorVersion>
<minorVersion>0</minorVersion>
<maintenanceVersion>2</maintenanceVersion>
</response>
 

search

search API は、「ゲスト アカウントの管理」 のスポンサー インターフェイスのとおり、スポンサーの権限および設定に従ってレポートのためにゲスト アカウントの詳細を返します。


search API を使用できるのは、バージョン 2.0.1 以降のみです。


必須入力パラメータ

username(必須):スポンサー アカウントのユーザ名

password(必須):スポンサー アカウントのパスワード

method(必須):search

sponsor(任意):スポンサーのユーザ名

firstName(任意):ゲスト ユーザの名

surname(任意):ゲスト ユーザの姓

company(任意):ゲスト ユーザの会社名

email(任意):ゲスト ユーザの電子メール アドレス

ipAddress(任意)

startTime(任意):YYYY-MM-DD

endTime(任意):YYYY-MM-DD

timezone(任意):アカウントが作成されるタイムゾーン

option1(任意):

option2(任意):

option3(任意):

option4(任意):

option5(任意):

statusInactive(任意):

statusActive(任意):

stautsExpired(任意):

statusSuspended(任意):

search の使用例

必須パラメータは必須です。オプション パラメータは、返されるデータのサブセットになります。開始日と終了日を指定しない場合は、直近 24 時間の範囲でアカウントが返されます。

次に、2009 年 3 月 3 日から 2009 年 4 月 15 日の間のアクティブ ゲスト アカウントの詳細を返す例を示します。

http://x.x.x.x/sponsor/api/GuestAccount.php?username=local&password=local&method=search&startTime=2009-03-03&endTime=2009-04-15&statusActive=1

成功すると、次のような応答が返されます。

<response>
<status>
<code>0</code>
<message>Success</message>
</status>
<item>
<id>2005</id>
<firstName>Jim</firstName>
<surname>Bean</surname>
<company>Beans Brewery</company>
<email>jim@bean.com</email>
<username> jim@bean.com </username>
<password>Es3TDdd3</password>
<status>2</status>
<mobileNumber>782394928</mobileNumber>
<phoneCode>1</phoneCode>
<timezone>America/Los_Angeles</timezone>
<option1/>
<option2/>
<option3/>
<option4/>
<option5/>
<startTimeT>2009-04-01T04:40:00-07:00</startTimeT>
<endTimeT>2009-04-06T06:59:00-07:00</endTimeT>
<role>Default</role>
<sponsorId>196</sponsorId>
<sponsor>sam</sponsor>
<timeProfileId>1</timeProfileId>
<timeProfile>default</timeProfile>
</item>
<item>
...further account details meeting the request criteria...
</item>
<item>
...further account details meeting the request criteria...
</item>
<item>
...further account details meeting the request criteria...
</item>
</response>

StartTime、EndTime、Timezone を使用した search の例

「timezone」パラメータは、アカウントが作成されたタイムゾーンを表します。

次に、「Europe/Moscow」のタイムゾーンで作成されたアクティブ ゲスト アカウントの詳細を返す例を示します。ここで、開始時刻と終了時刻は、指定された開始時刻(2012-07-01 21:22:00)および終了時刻(2012-07-02 23:59:00)と重複しています。

search クエリーで、「timezone」は、指定された開始時刻および終了時刻のレコードを取得する「search」API の必須パラメータです。

http://x.x.x.x/sponsor/api/GuestAccount.php?username=local&password=local&method=search&startTime=2012-07-01T21:22:00+01:00&endTime=2012-07-02T23:59:00+01:00&timezone=Europe%2FMoscow

成功すると、次のような応答が返されます。

<response>
<status>
<code>0</code>
<message>Success</message>
</status>
<item>
<id>2005</id>
<firstName>Jim</firstName>
<surname>Bean</surname>
<company>Beans Brewery</company>
<email>jim@bean.com</email>
<username>jim@bean.com</username>
<password>Es3TDdd3</password>
<status>3</status>
<mobileNumber>782394928</mobileNumber>
<phoneCode>1</phoneCode>
<timezone>Europe/Moscow</timezone>
<option1/>
<option2/>
<option3/>
<option4/>
<option5/>
<startTimeT>2012-07-01T13:44:00+04:00</startTimeT>
<endTimeT>2012-07-01T15:50:00+04:00</endTimeT>
<role>Default</role>
<sponsorId>196</sponsorId>
<sponsor>sam</sponsor>
<timeProfileId>1</timeProfileId>
<timeProfile>default</timeProfile>
</item>
</response>
 

timezone パラメータなしで検索 API を実行すると、スポンサーのタイム ゾーンが開始時刻と終了時刻に適用されます。次のクエリーは、「local」というユーザのタイムゾーンのレコードを返します。

http://x.x.x.x/sponsor/api/GuestAccount.php?username=local&password=local&method=search&startTime=2012-07-01T10:52:00&endTime=2012-07-03T01:30:00

開始時刻と終了時刻のパラメータは、ユーザによって作成されたタイムゾーンで表示されます。

ステータス コード

アカウントのステータスは XML で返されます。次の値があります。

ステータスが非アクティブ = 1

ステータスがアクティブ = 2

ステータスが失効 = 3

ステータスが一時停止 = 4

エラー コード

応答の <code> 要素に以下のエラー コードが返されます。

値:説明

値 0:エラーはありません。

値 1:内部アプリケーション エラーです。

値 100:スポンサーのユーザ名やパスワードが正しくありません。

値 101:HTTPS で API にアクセスできません(管理者が制御)。

値 102:HTTP で API にアクセスできません(管理者が制御)。

値 1000:必須のフィールドで指定されていないものがあります(メッセージ内にリスト表示されます)。

値 1001:管理者によってディセーブルにされた SMS メッセージを送信します。

値 1002:管理者によってディセーブルにされた電子メールを送信します。

値 1003:渡されたアカウント ID が存在しません。

値 1004:正しく指定されていないフィールドがあります(メッセージ内にリスト表示されます)。

値 1005:edit メソッドで変更できないフィールドがあります。

有効なタイムゾーン

Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmara Africa/Bamako Africa/Bangui Africa/Banjul Africa/Bissau Africa/Blantyre Africa/Brazzaville Africa/Bujumbura Africa/Cairo Africa/Casablanca Africa/Ceuta Africa/Conakry Africa/Dakar Africa/Dar_es_Salaam Africa/Djibouti Africa/Douala Africa/El_Aaiun Africa/Freetown Africa/Gaborone Africa/Harare Africa/Johannesburg Africa/Kampala Africa/Khartoum Africa/Kigali Africa/Kinshasa Africa/Lagos Africa/Libreville Africa/Lome Africa/Luanda Africa/Lubumbashi Africa/Lusaka Africa/Malabo Africa/Maputo Africa/Maseru Africa/Mbabane Africa/Mogadishu Africa/Monrovia Africa/Nairobi Africa/Ndjamena Africa/Niamey Africa/Nouakchott Africa/Ouagadougou Africa/Porto-Novo Africa/Sao_Tome Africa/Tripoli Africa/Tunis Africa/Windhoek America/Adak America/Anchorage America/Anguilla America/Antigua America/Araguaina America/Argentina/Buenos_Aires America/Argentina/Catamarca America/Argentina/Cordoba America/Argentina/Jujuy America/Argentina/La_Rioja America/Argentina/Mendoza America/Argentina/Rio_Gallegos America/Argentina/San_Juan America/Argentina/Tucuman America/Argentina/Ushuaia America/Aruba America/Asuncion America/Atikokan America/Bahia America/Barbados America/Belem America/Belize America/Blanc-Sablon America/Boa_Vista America/Bogota America/Boise America/Cambridge_Bay America/Campo_Grande America/Cancun America/Caracas America/Cayenne America/Cayman America/Chicago America/Chihuahua America/Costa_Rica America/Cuiaba America/Curacao America/Danmarkshavn America/Dawson America/Dawson_Creek America/Denver America/Detroit America/Dominica America/Edmonton America/Eirunepe America/El_Salvador America/Fortaleza America/Glace_Bay America/Godthab America/Goose_Bay America/Grand_Turk America/Grenada America/Guadeloupe America/Guatemala America/Guayaquil America/Guyana America/Halifax America/Havana America/Hermosillo America/Indiana/Indianapolis America/Indiana/Knox America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Tell_City America/Indiana/Vevay America/Indiana/Vincennes America/Indiana/Winamac America/Inuvik America/Iqaluit America/Jamaica America/Juneau America/Kentucky/Louisville America/Kentucky/Monticello America/La_Paz America/Lima America/Los_Angeles America/Maceio America/Managua America/Manaus America/Martinique America/Mazatlan America/Menominee America/Merida America/Mexico_City America/Miquelon America/Moncton America/Monterrey America/Montevideo America/Montreal America/Montserrat America/Nassau America/New_York America/Nipigon America/Nome America/Noronha America/North_Dakota/Center America/North_Dakota/New_Salem America/Panama America/Pangnirtung America/Paramaribo America/Phoenix America/Port-au-Prince America/Port_of_Spain America/Porto_Velho America/Puerto_Rico America/Rainy_River America/Rankin_Inlet America/Recife America/Regina America/Resolute America/Rio_Branco America/Santiago America/Santo_Domingo America/Sao_Paulo America/Scoresbysund America/Shiprock America/St_Johns America/St_Kitts America/St_Lucia America/St_Thomas America/St_Vincent America/Swift_Current America/Tegucigalpa America/Thule America/Thunder_Bay America/Tijuana America/Toronto America/Tortola America/Vancouver America/Whitehorse America/Winnipeg America/Yakutat America/Yellowknife Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/McMurdo Antarctica/Palmer Antarctica/Rothera Antarctica/South_Pole Antarctica/Syowa Antarctica/Vostok Arctic/Longyearbyen Asia/Aden Asia/Almaty Asia/Amman Asia/Anadyr Asia/Aqtau Asia/Aqtobe Asia/Ashgabat Asia/Baghdad Asia/Bahrain Asia/Baku Asia/Bangkok Asia/Beirut Asia/Bishkek Asia/Brunei Asia/Calcutta Asia/Choibalsan Asia/Chongqing Asia/Colombo Asia/Damascus Asia/Dhaka Asia/Dili Asia/Dubai Asia/Dushanbe Asia/Gaza Asia/Harbin Asia/Hong_Kong Asia/Hovd Asia/Irkutsk Asia/Jakarta Asia/Jayapura Asia/Jerusalem Asia/Kabul Asia/Kamchatka Asia/Karachi Asia/Kashgar Asia/Katmandu Asia/Krasnoyarsk Asia/Kuala_Lumpur Asia/Kuching Asia/Kuwait Asia/Macau Asia/Magadan Asia/Makassar Asia/Manila Asia/Muscat Asia/Nicosia Asia/Novosibirsk Asia/Omsk Asia/Oral Asia/Phnom_Penh Asia/Pontianak Asia/Pyongyang Asia/Qatar Asia/Qyzylorda Asia/Rangoon Asia/Riyadh Asia/Saigon Asia/Sakhalin Asia/Samarkand Asia/Seoul Asia/Shanghai Asia/Singapore Asia/Taipei Asia/Tashkent Asia/Tbilisi Asia/Tehran Asia/Thimphu Asia/Tokyo Asia/Ulaanbaatar Asia/Urumqi Asia/Vientiane Asia/Vladivostok Asia/Yakutsk Asia/Yekaterinburg Asia/Yerevan Atlantic/Azores Atlantic/Bermuda Atlantic/Canary Atlantic/Cape_Verde Atlantic/Faroe Atlantic/Jan_Mayen Atlantic/Madeira Atlantic/Reykjavik Atlantic/South_Georgia Atlantic/Stanley Atlantic/St_Helena Australia/Adelaide Australia/Brisbane Australia/Broken_Hill Australia/Currie Australia/Darwin Australia/Eucla Australia/Hobart Australia/Lindeman Australia/Lord_Howe Australia/Melbourne Australia/Perth Australia/Sydney Europe/Amsterdam Europe/Andorra Europe/Athens Europe/Belgrade Europe/Berlin Europe/Bratislava Europe/Brussels Europe/Bucharest Europe/Budapest Europe/Chisinau Europe/Copenhagen Europe/Dublin Europe/Gibraltar Europe/Guernsey Europe/Helsinki Europe/Isle_of_Man Europe/Istanbul Europe/Jersey Europe/Kaliningrad Europe/Kiev Europe/Lisbon Europe/Ljubljana Europe/London Europe/Luxembourg Europe/Madrid Europe/Malta Europe/Mariehamn Europe/Minsk Europe/Monaco Europe/Moscow Europe/Oslo Europe/Paris Europe/Podgorica Europe/Prague Europe/Riga Europe/Rome Europe/Samara Europe/San_Marino Europe/Sarajevo Europe/Simferopol Europe/Skopje Europe/Sofia Europe/Stockholm Europe/Tallinn Europe/Tirane Europe/Uzhgorod Europe/Vaduz Europe/Vatican Europe/Vienna Europe/Vilnius Europe/Volgograd Europe/Warsaw Europe/Zagreb Europe/Zaporozhye Europe/Zurich Indian/Antananarivo Indian/Chagos Indian/Christmas Indian/Cocos Indian/Comoro Indian/Kerguelen Indian/Mahe Indian/Maldives Indian/Mauritius Indian/Mayotte Indian/Reunion Pacific/Apia Pacific/Auckland Pacific/Chatham Pacific/Easter Pacific/Efate Pacific/Enderbury Pacific/Fakaofo Pacific/Fiji Pacific/Funafuti Pacific/Galapagos Pacific/Gambier Pacific/Guadalcanal Pacific/Guam Pacific/Honolulu Pacific/Johnston Pacific/Kiritimati Pacific/Kosrae Pacific/Kwajalein Pacific/Majuro Pacific/Marquesas Pacific/Midway Pacific/Nauru Pacific/Niue Pacific/Norfolk Pacific/Noumea Pacific/Pago_Pago Pacific/Palau Pacific/Pitcairn Pacific/Ponape Pacific/Port_Moresby Pacific/Rarotonga Pacific/Saipan Pacific/Tahiti Pacific/Tarawa Pacific/Tongatapu Pacific/Truk Pacific/Wake Pacific/Wallis