リリースはありません
HTTPプロトコル(RFC2616)を下敷きに転送プロトコルを考えてみた。
プロキシ経由の事を考えてRequest-URIとToを分離する
KIPPAHメッセージ = リクエスト | レスポンス リクエスト = リクエスト行 *(メッセージヘッダ CRLF) [メッセージボディ] リクエスト行 = メソッド SP リクエストURI SP KIPPAHバージョン CRLF KIPPAH バージョン番号 = "KIPPAH/1.0" メソッド = "CALL" | "MESSAGE" | "ACK" | "BYE" ステータス行 リクエストURI = "kippah:" 送信元ユーザ名 "@" サーバIP [ ":" サーバポート番号 ] "/" SenderType "/" 送信先指定 Call-ID = SHA-1によるハッシュ文字列 シーケンス番号 レスポンス = レスポンス行 *(メッセージヘッダ CRLF) [メッセージボディ] レスポンス行 = KIPPAHバージョン番号 ステータス ステータス = 200 ; OK | 404 ; Resource Not Found メッセージヘッダ = フィールド名 ":" [ フィールド値 ] フィールド名 = 英数字文字列 フィールド値 = *(フィールドコンテント | LWS ) フィールドコンテント = 英数字文字列
LWS:連続空白
暫定: 1xx 180 Ringing : 呼び出し中 成功: 2xx 200 OK : 成功 失敗: 4xx 400 Bad Request : 不正なリクエスト 403 Forbidden : 禁止 405 Method Not Allowed : メソッドが許可されていない 408 Request Timeout : リクエストがタイムアウトした 415 Unsupported Media Type : サポートされていないメディアタイプ 416 Unsupported URI Scheme : サポートされていないURIスキーム 481 Call/Transaction Does Not Exist : 呼またはトランザクションが存在しない 486 Busy Here : ここはビジー 487 Request Terminated:リクエストが終了させられた 488 Not Acceptable Here : ここでは受け入れ不能
To: リクエスト受信者のURI From: リクエスト送信者のURI Contact: 自身のアドレス情報 Call-ID: メッセージの識別子 CSeq: シーケンス番号 Content-Length: ボディのバイト長 Content-Type: ボディに含まれるタイプ Accept: サポートするメディアのリスト Allow: サポートするメソッドのリスト
RFC4556(SDP)
CALL kippah:twainy@10.10.10.10:400 KIPPAH/1.0 HEADER:AAA:13AA HEADER:BB:333AA FEFWEFWEFWE333 FEEWFWE