API一覧
1. InitNetwork
2. StartupSipd
3. ShutdownSipd
4. RestartSipd
5. CommandSipRegister
6. CommandSipInvite
7. CommandSipAccept
8. CommandSipRefer
9. CommandSipReferTo
10. CommandSipHangup
11. CommandSendDTMF
12. CommandSipHold
13. SetHoldMusic
14. GetPartnerUserID
15. GetPartnerDisplayName
16. GetPartnerContact
17. GetSectionName
18. GetPartnerURI
19. GetLocalIPAddress
20. SetCallbackWnd
InitNetwork
ネットワークの初期化を行います。
void InitNetwork() 戻り値
なし
StartupSipd
SIP Engineの初期化。
BOOL StartupSipd(
char* pConfFilePath
)戻り値
成功した場合TRUEを返します
引数
pConfFilePath 設定ファイルの場所をフルパスで指定します。
ShutdownSipd
SIP Engineの終了。
void ShutdownSipd() 戻り値
なし
RestartSipd
SIP Engineの再起動。
BOOL RestartSipd() 戻り値
成功した場合TRUEを返します
備考
Restart処理が必要になる条件
・sipd.conf の[General]が変更されたとき
・sipd.conf の新しセクションが追加されたとき
・LocalアドレスもしくはGlobalアドレスが変更されたとき
CommandSipRegister
指定したセクション名(Realm)のSIP サーバーに端末情報を登録して着信待ち受け状態にする。
int CommandSipRegister(
char* pSectionName
)戻り値
成功した場合コマンド識別用のIDを返す。
引数
pSectionName 設定ファイルに記述されているサーバー情報のセクション名(Realmに当たる部分)。
sipd.conf
[fwd.pulver.com] ←セクション名
Proxy = fwd.pulver.com
Registrar =
ServerAddress =
DisplayUserID = 999999
DisplayUserName = 999999
AuthorizationUserID = 999999
999999= ******
RegisterExpires = 3600
SessionExpires = 0
DTMF = 1
ptime = 20
SymmetricResponseRouting = 0
MediaType = -1
DialPrefix =
DialSuffix =
CommandSipInvite
指定したセクション名(Realm)のSIP サーバーを使い、相手先を指定してダイヤルする。
int CommandSipInvite(
char* pSectionName,
char* pToUri,
int nReserved ,
void* pParam1=NULL,
void* pParam2=NULL
)戻り値
成功した場合コマンド識別用のIDを返す。
引数
pSectionName 設定ファイルに記述されているサーバー情報のセクション名(Realmに当たる部分)。
pToUri 相手先の番号もしくはSIPアドレス
nReserved 予約されています。通常は0を指定します。
pParam1 予約されています。通常はNULLを指定します。
pParam2 予約されています。通常はNULLを指定します。
例
int nID = CommandSipInvite( "fwd.pulver.com", "613", 0);
CommandSipAccept
識別用のIDを指定して着呼を受ける。
BOOL CommandSipAccept(
int nID
)戻り値
成功した場合TRUEを返します。
引数
nID 識別用のID。コールバックメッセージなどによって渡されたID。
CommandSipRefer
指定したセクション名(Realm)のSIP サーバーを使い、転送する。
int CommandSipReferTo (
char* pSectionName,
char* pToi,
char* pReferTo戻り値
成功した場合コマンド識別用のIDを返す。
引数
pSectionName 設定ファイルに記述されているサーバー情報のセクション名(Realmに当たる部分)。
pTo 転送元の番号
pReferTo 転送先の番号
CommandSipReferTo
既に接続されている呼を転送する。nSrcIDは転送元、nDstIDは転送先になる。Attended transfer(完全転送)を行う場合は、bHoldをTRUEに設定する必要があり、nDstIDによって識別される呼は通話状態になっている必要がある。その場合nSrcIDの呼は内部でHold(保留)される。bHoldをFALSEに設定するとBlind transfer(不完全転送)を行うときに使用する。
BOOL CommandSipReferTo (
int nSrcID
int nDstID
BOOL bHold
)戻り値
成功した場合TRUEを返す。
引数
nSrcID 転送元の識別用のID。コールバックメッセージなどによって渡されたID。
nDstID 転送元の識別用のID。コールバックメッセージなどによって渡されたID。
bHold nSrcIDによって識別される呼を保留する
CommandSipHangup
識別用のIDを指定して通話を切断する。
BOOL CommandSipHangup(
int nID
)戻り値
成功した場合TRUEを返します。
引数
nID 識別用のID。CommandSipInviteやコールバックメッセージなどによって渡されたID。
CommandSendDTMF
識別用のIDを指定してDTMFを送る。
BOOL CommandSendDTMF(
int nID,
char c
)戻り値
成功した場合TRUEを返します。
引数
nID 識別用のID。CommandSipInviteやコールバックメッセージなどによって渡されたID。
c 送りたいダイヤルボタンの文字。'0'-'9'までの数字と'*'や'#'が指定できる。
CommandSipHold
識別用のIDを指定して保留にする。
BOOL CommandSipHold(
int nID,
BOOL bPause
)戻り値
成功した場合TRUEを返します。
引数
nID 識別用のID。CommandSipInviteやコールバックメッセージなどによって渡されたID。
bPause 保留状態に設定する場合はTRUE
SetHoldMusic
マイクからの入力の代わりに、ファイルから入力した音声(音楽)をストリーミングします。
Sipd.confの設定
[Wave]
AutoAnswer =ファイル名(フルパス)
Separater= ファイル名(フルパス)
NoMessage= ファイル名(フルパス)
0 = ファイル名(フルパス)
1 = ファイル名(フルパス)
2 = ファイル名(フルパス)
...
0~9までの値が有効。
SetHoldMusicのcNumberの引数によって、ストリーミングされるファイルを選択できる。そのため、cNumber引数は'0'~'9'の範囲に制限される。(ダイヤルボタンで入力できる数字のみ)
BOOL SetHoldMusic(
int nID,
char cNumber
)
戻り値
成功した場合TRUEを返します。
引数
nID 識別用のID。CommandSipInviteやコールバックメッセージなどによって渡されたID。
cNumber 使用する音楽のwaveファイルがマップされた識別文字。’ ’スペース(0x20)を指定するとストリーミングが停止される。
GetPartnerUserID
識別用のIDを指定して接続相手のUSERIDを取得する。
char* GetPartnerUserID(
int nID
)戻り値
接続相手のUSERIDの文字列ポインタを返します。失敗するとNULLを返します。
引数
nID 識別用のID。CommandSipInviteやコールバックメッセージなどによって渡されたID。
GetPartnerDisplayName
識別用のIDを指定して接続相手の表示名を取得する。
char* GetPartnerDisplayName(
int nID
)戻り値
接続相手の表示名の文字列ポインタを返します。失敗するとNULLを返します。
引数
nID 識別用のID。CommandSipInviteやコールバックメッセージなどによって渡されたID。
GetPartnerContact
識別用のIDを指定して接続相手のContact情報を取得する。
char* GetPartnerContact(
int nID
)戻り値
接続相手のContact情報の文字列ポインタを返します。失敗するとNULLを返します。
引数
nID 識別用のID。CommandSipInviteやコールバックメッセージなどによって渡されたID。
GetSectionName
識別用のIDを指定して接続相手のサービス名(設定ファイルのセクション)を取得する。
char* GetSectionName(
int nID
)戻り値
接続相手のサービス名(設定ファイルのセクション)の文字列ポインタを返します。失敗するとNULLを返します。
引数
nID 識別用のID。CommandSipInviteやコールバックメッセージなどによって渡されたID。
GetPartnerURI
識別用のIDを指定して接続相手のSIP-URI情報を取得する。
char* GetPartnerURI(
int nID
)戻り値
接続相手のSIP-URI情報の文字列ポインタを返します。失敗するとNULLを返します。
引数
nID 識別用のID。CommandSipInviteやコールバックメッセージなどによって渡されたID。
GetLocalIPAddress
識別用のIDを指定して接続相手のLocalIPAddress情報を取得する。
char* GetLocalIPAddress(
char* pszIP,
int nHostIndex
)戻り値
接続相手のLocalIPAddressの文字列ポインタを返します。失敗するとNULLを返します。
引数
pszIP 識別用のID。CommandSipInviteやコールバックメッセージなどによって渡されたID。
SetCallbackWnd
状態通知用コールバックウインドウハンドルの設定。
void SetCallbackWnd(
HWND hWnd
)戻り値
なし
引数
hWnd コールバックウインドウメッセージを受けたいウインドウハンドル
