Wipple CPaaS
メニュー
Webhook / クライアント認証

クライアント認証 (Client Authentication)

POSThttps://{yourserver}/webhooks/authContent-Type: application/json

この Webhook は、SIP クライアントが認証を試みたときに送信されます。アカウントレベルで設定します。

認証

  • Authorization ヘッダー (basic auth, 必須) — Basic <base64(username:password)> 形式の Basic 認証です。

リクエスト

ボディ (application/json)

このエンドポイントはオブジェクトを受け取ります。

  • methodstring必須SIP リクエストメソッド
  • realmstring必須SIP レルム
  • usernamestring必須提示された SIP ユーザー名
  • expiresdouble必須要求された有効期限 (秒)
  • noncestring必須nonce 値
  • uristring必須リクエスト内の SIP URI
  • responsestring必須クライアントが計算したダイジェスト値
  • schemestring任意暗号化プロトコル
  • algorithmstring任意使用された暗号化アルゴリズム。指定がない場合のデフォルトは MD5
  • qopstring任意qop 値
  • cnoncestring任意cnonce 値
  • ncstring任意nc 値

レスポンス

200

コールバックは、すべての場合においてこの HTTP ステータスコードを返してください。リクエストが認証され、クライアントをネットワークに受け入れる場合は、ボディの 'status' 属性を 'ok' に設定してそれを示します

  • statusenum必須リクエストの認証に成功したかどうかを示します
  • 指定可能な値: ok, fail
  • messagestring任意人間が読めるメッセージ
  • application_sidstring任意このデバイスが発信したときに呼び出すアプリケーションの sid
  • expiresdouble任意要求元ユーザーに付与する expires 値。指定がない場合は、リクエスト内の expires 値が採用されます。指定する場合は、要求された expires 値より小さくなければなりません。
  • blacklistdouble任意指定した場合、プラットフォームが送信元 IP アドレスをブラックリストに登録する期間 (秒) を表します (0 は無期限)。

例

リクエスト

{
  "method": "REGISTER",
  "realm": "example.com",
  "username": "taro",
  "expires": 3600,
  "nonce": "InFriVGWVoKeCckYrTx7wg==\"",
  "uri": "sip:example.com",
  "response": "be641cf7951ff23ab04c57907d59f37d"
}

レスポンス

{
  "status": "ok",
  "message": "authentication granted",
  "application_sid": "string",
  "expires": 1.1,
  "blacklist": 1.1
}