Multiple instances, events (I got CAUSE_NO_RESPONSE for call2):
------------------------------------
Initialize inst1...
INST1: EVENT_CATEGORY_LINESTATE::PROVISIONED::PROVISIONED_NORMAL
INST1: EVENT_CATEGORY_CALLSTATE::DIALTONE::CAUSE_NORMAL
hCall=1, hAssociatedCall=0
INST1: EVENT_CATEGORY_CALLSTATE::REMOTE_OFFERING::CAUSE_NORMAL
hCall=1, hAssociatedCall=0
INST1: EVENT_CATEGORY_MEDIA::REMOTE_START::AUDIO::CAUSE_NORMAL
INST1: EVENT_CATEGORY_CALLSTATE::CONNECTED::CAUSE_NORMAL
hCall=1, hAssociatedCall=0
INST1: EVENT_CATEGORY_MEDIA::LOCAL_START::AUDIO::CAUSE_NORMAL
Initialize inst2...
INST2: EVENT_CATEGORY_LINESTATE::PROVISIONED::PROVISIONED_NORMAL
INST2: EVENT_CATEGORY_CALLSTATE::DIALTONE::CAUSE_NORMAL
hCall=2, hAssociatedCall=0
INST2: EVENT_CATEGORY_CALLSTATE::REMOTE_OFFERING::CAUSE_NORMAL
hCall=2, hAssociatedCall=0
INST2: EVENT_CATEGORY_MEDIA::REMOTE_START::AUDIO::CAUSE_NORMAL
Destroy call1...
INST1: EVENT_CATEGORY_MEDIA::LOCAL_STOP::AUDIO::CAUSE_NORMAL
INST1: EVENT_CATEGORY_MEDIA::REMOTE_STOP::AUDIO::CAUSE_NORMAL
INST1: EVENT_CATEGORY_CALLSTATE::DISCONNECTED::CAUSE_NORMAL
hCall=1, hAssociatedCall=0
INST1: EVENT_CATEGORY_CALLSTATE::DESTROYED::CAUSE_NORMAL
hCall=1, hAssociatedCall=0
Finalize inst1...
INST2: EVENT_CATEGORY_CALLSTATE::DISCONNECTED::CAUSE_NO_RESPONSE
hCall=2, hAssociatedCall=0
Destroy call2...
INST2: EVENT_CATEGORY_MEDIA::REMOTE_STOP::AUDIO::CAUSE_NORMAL
INST2: EVENT_CATEGORY_CALLSTATE::DESTROYED::CAUSE_NORMAL
hCall=2, hAssociatedCall=0
Finalize inst2...
------------------------------------
source code (maybe someone help me?):
#include "tapi/sipXtapi.h"
#include "tapi/sipXtapiEvents.h"
#include <windows.h>
bool EventCallBack1(SIPX_EVENT_CATEGORY category, void* pInfo, void* pUserData)
{
char cBuf[1024] ;
printf("INST1: %s\n", sipxEventToString(category, pInfo, cBuf,
sizeof(cBuf)));
if (category == EVENT_CATEGORY_CALLSTATE)
{
SIPX_CALLSTATE_INFO* pCallInfo =
static_cast<SIPX_CALLSTATE_INFO*>(pInfo);
printf(" hCall=%d, hAssociatedCall=%d\n", pCallInfo->hCall,
pCallInfo->hAssociatedCall);
}
return true;
}
bool EventCallBack2(SIPX_EVENT_CATEGORY category, void* pInfo, void* pUserData)
{
char cBuf[1024] ;
printf("INST2: %s\n", sipxEventToString(category, pInfo, cBuf,
sizeof(cBuf)));
if (category == EVENT_CATEGORY_CALLSTATE)
{
SIPX_CALLSTATE_INFO* pCallInfo =
static_cast<SIPX_CALLSTATE_INFO*>(pInfo);
printf(" hCall=%d, hAssociatedCall=%d\n", pCallInfo->hCall,
pCallInfo->hAssociatedCall);
}
return true;
}
int _tmain(int argc, _TCHAR* argv[])
{
sipxConfigSetLogLevel(LOG_LEVEL_DEBUG) ;
sipxConfigSetLogFile("sipXtapi_test.log");
SIPX_INST hInst1 = NULL, hInst2 = NULL;
SIPX_LINE hLine1 = 0, hLine2 = 0;
SIPX_CALL hCall1 = 0, hCall2 = 0;
printf("Initialize inst1...\n");
sipxInitialize(&hInst1, 5060, 5060, -1, 9000);
sipxEventListenerAdd(hInst1, EventCallBack1, NULL);
sipxConfigSetOutboundProxy(hInst1, "192.168.0.88");
sipxLineAdd(hInst1, "sip:[EMAIL PROTECTED]", &hLine1);
sipxLineAddCredential(hLine1, "201", "201", "asterisk");
sipxCallCreate(hInst1, hLine1, &hCall1);
sipxCallConnect(hCall1, "sip:[EMAIL PROTECTED]");
Sleep(2000);
printf("Initialize inst2...\n");
sipxInitialize(&hInst2, 6060, 6060, -1, 10000);
sipxEventListenerAdd(hInst2, EventCallBack2, NULL);
sipxConfigSetOutboundProxy(hInst2, "192.168.0.88");
sipxLineAdd(hInst2, "sip:[EMAIL PROTECTED]", &hLine2);
sipxLineAddCredential(hLine2, "202", "202", "asterisk");
sipxCallCreate(hInst2, hLine2, &hCall2);
sipxCallConnect(hCall2, "sip:[EMAIL PROTECTED]");
Sleep(2000);
printf("Destroy call1...\n");
sipxCallDestroy(hCall1);
Sleep(1000);
printf("Finalize inst1...\n");
sipxEventListenerRemove(hInst1, EventCallBack1, NULL);
sipxUnInitialize(hInst1);
printf("Destroy call2...\n");
sipxCallDestroy(hCall2);
Sleep(1000);
printf("Finalize inst2...\n");
sipxEventListenerRemove(hInst2, EventCallBack2, NULL);
sipxUnInitialize(hInst2);
return 0;
}
--
Best regards,
Alexey [ [EMAIL PROTECTED] ]
_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/