C++ SIP Stack
0.31
|
SIP Stack 라이브러리 더 자세히 ...
클래스 | |
class | CMonitorString |
자료구조 모니터링을 위한 문자열 저장 및 생성 클래스 더 자세히 ... | |
class | CSipBuffer |
SIP TCP 버퍼를 관리하는 클래스 더 자세히 ... | |
class | CSipDeleteInfo |
만료된 SIP 메시지를 저장하는 클래스 더 자세히 ... | |
class | CSipDeleteQueue |
만료된 SIP 메시지를 저장한 후, 일정 시간 후에 삭제하는 클래스 더 자세히 ... | |
class | CSipICTList |
INVITE CLIENT TRANSACTION List 클래스 더 자세히 ... | |
class | CSipInviteTransaction |
SIP INVITE TRANSACTION 클래스 더 자세히 ... | |
class | CSipISTList |
INVITE SERVER TRANSACTION List 클래스 더 자세히 ... | |
class | CSipNICTList |
NON INVITE CLIENT TRANSACTION List 클래스 더 자세히 ... | |
class | CSipNISTList |
NON INVITE SERVER TRANSACTION List 클래스 더 자세히 ... | |
class | CSipNonInviteTransaction |
SIP NON INVITE TRANSACTION 클래스 더 자세히 ... | |
class | CSipQueueEntry |
SIP 수신 메시지를 저장하는 클래스 더 자세히 ... | |
class | CSipQueue |
SIP 수신 메시지 리스트를 저장하는 자료구조 클래스 더 자세히 ... | |
class | CSipStack |
SIP stack 클래스 더 자세히 ... | |
class | ISipStackCallBack |
SIP stack callback 인터페이스 더 자세히 ... | |
class | ISipStackSecurityCallBack |
SIP stack 보안 callback 인터페이스 더 자세히 ... | |
class | CSipStackSetup |
SIP stack 설정 클래스 더 자세히 ... | |
class | CSipTransactionList |
SIP transaction List 클래스 더 자세히 ... | |
class | CTcpConnectInfo |
TCP/TLS 연결 진행 중인 경우에 전송 요청한 SIP 메시지를 저장하는 클래스 더 자세히 ... | |
class | CTcpConnectMap |
TCP/TLS 연결 진행 중인 정보를 저장하는 클래스 더 자세히 ... | |
class | CTcpComm |
TCP 쓰레드에 TCP 세션을 전달할 때에 사용되는 클래스 더 자세히 ... | |
class | CTcpSessionListInfo |
TCP 쓰레드 별로 관리하는 TCP 세션 정보 더 자세히 ... | |
class | CTcpSessionList |
TCP 쓰레드 별로 관리하는 TCP 세션 정보를 저장하는 클래스 더 자세히 ... | |
class | CTcpSocketInfo |
TCP/TLS 세션 정보 더 자세히 ... | |
class | CTcpSocketMap |
TCP/TLS 세션 정보를 저장하는 자료구조 더 자세히 ... | |
class | CThreadListEntry |
쓰레드 리스트에 포함되는 하나의 쓰레드 정보 저장 클래스 더 자세히 ... | |
class | CThreadList |
쓰레드 리스트 자료구조 더 자세히 ... |
함수 | |
THREAD_API | SipQueueThread (LPVOID lpParameter) |
SIP 큐에서 SIP 메시지를 가져와서 파싱 및 callback 처리하는 쓰레드 | |
bool | StartSipQueueThread (CSipStack *pclsSipStack) |
SIP 큐에서 SIP 메시지를 가져와서 파싱 및 callback 처리하는 쓰레드를 시작한다. | |
virtual bool | ISipStackCallBack::RecvRequest (int iThreadId, CSipMessage *pclsMessage)=0 |
SIP 요청 메시지 수신 이벤트 핸들러 | |
virtual bool | ISipStackCallBack::RecvResponse (int iThreadId, CSipMessage *pclsMessage)=0 |
SIP 응답 메시지 수신 이벤트 핸들러 | |
virtual bool | ISipStackCallBack::SendTimeout (int iThreadId, CSipMessage *pclsMessage)=0 |
SIP 메시지 전송 timeout 이벤트 핸들러 | |
virtual void | ISipStackCallBack::TcpSessionEnd (const char *pszIp, int iPort, ESipTransport eTransport) |
TCP/TLS 세션 종료 이벤트 핸들러 | |
virtual void | ISipStackCallBack::ThreadEnd (int iThreadId) |
SIP 메시지 수신 쓰레드가 종료됨을 알려주는 이벤트 핸들러 | |
virtual bool | ISipStackSecurityCallBack::IsAllowUserAgent (const char *pszSipUserAgent)=0 |
SIP stack 에서 허용하는 SIP User Agent 인가? | |
virtual bool | ISipStackSecurityCallBack::IsDenyUserAgent (const char *pszSipUserAgent)=0 |
SIP stack 에서 허용하지 않는 SIP User Agent 인가? | |
virtual bool | ISipStackSecurityCallBack::IsAllowIp (const char *pszIp)=0 |
SIP stack 에서 허용하는 IP 주소인가? | |
virtual bool | ISipStackSecurityCallBack::IsDenyIp (const char *pszIp)=0 |
SIP stack 에서 허용하지 않는 IP 주소인가? | |
THREAD_API | SipStackThread (LPVOID lpParameter) |
주기적으로 SIP stack 을 실행하는 쓰레드 | |
bool | StartSipStackThread (CSipStack *pclsSipStack) |
SIP stack thread 를 시작한다. | |
THREAD_API | SipTcpClientThread (LPVOID lpParameter) |
TCP 클라이언트 세션 연결을 위한 쓰레드 함수 | |
bool | StartSipTcpClientThread (CSipStack *pclsSipStack, const char *pszIp, int iPort, CSipMessage *pclsSipMessage) |
TCP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 Thread Pool 을 시작한다. | |
THREAD_API | SipTcpThread (LPVOID lpParameter) |
TCP 세션을 위한 쓰레드 함수 | |
THREAD_API | SipTcpListenThread (LPVOID lpParameter) |
TCP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 쓰레드 함수 | |
bool | StartSipTcpListenThread (CSipStack *pclsSipStack) |
TCP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 Thread Pool 을 시작한다. | |
THREAD_API | SipTlsClientThread (LPVOID lpParameter) |
TLS 클라이언트 세션 연결을 위한 쓰레드 함수 | |
bool | StartSipTlsClientThread (CSipStack *pclsSipStack, const char *pszIp, int iPort, CSipMessage *pclsSipMessage) |
TCP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 Thread Pool 을 시작한다. | |
THREAD_API | SipTlsThread (LPVOID lpParameter) |
TLS 세션을 위한 쓰레드 함수 | |
THREAD_API | SipTlsListenThread (LPVOID lpParameter) |
TLS 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 쓰레드 함수 | |
bool | StartSipTlsListenThread (CSipStack *pclsSipStack) |
TLS 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 Thread Pool 을 시작한다. | |
THREAD_API | SipUdpThread (LPVOID lpParameter) |
UDP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 쓰레드 함수 | |
bool | StartSipUdpThread (CSipStack *pclsSipStack) |
UDP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 Thread Pool 을 시작한다. | |
bool | SSLStart () |
SSL 라이브러리를 multi-thread 기반으로 시작한다. | |
bool | SSLServerStart (const char *szCertFile, const char *szCaCertFile) |
SSL 서버 라이브러리를 시작한다. | |
bool | SSLServerStop () |
SSL 서버 라이브러리를 종료한다. | |
bool | SSLClientStart () |
SSL 클라이언트 라이브러리를 시작한다. | |
bool | SSLClientStop () |
SSL 클라이언트 라이브러리를 종료한다. | |
void | SSLFinal () |
프로세스가 종료될 때에 최종적으로 실행하여서 openssl 메모리 누수를 출력하지 않는다. | |
bool | SSLAccept (Socket iFd, SSL **ppsttSsl, bool bCheckClientCert, int iVerifyDepth, int iAcceptTimeout) |
클라이언트 SSL 접속 요청을 허용한다. | |
int | SSLSend (SSL *ssl, const char *szBuf, int iBufLen) |
SSL 프로토콜로 패킷을 전송한다. | |
int | SSLRecv (SSL *ssl, char *szBuf, int iBufLen) |
SSL 프로토콜로 수신된 패킷을 읽는다. | |
bool | SSLClose (SSL *ssl) |
SSL 세션을 종료한다. | |
void | SSLPrintLogServerCipherList () |
SSL 서버에서 사용되는 cipher list 를 로그로 출력한다. | |
void | SSLPrintLogClientCipherList () |
SSL 클라이언트에서 사용되는 cipher list 를 로그로 출력한다. | |
void | CMonitorString::AddCol (const char *pszValue) |
컬럼 문자열을 저장한다. | |
void | CMonitorString::AddCol (const std::string &strValue) |
컬럼 문자열을 저장한다. | |
void | CMonitorString::AddCol (const std::string &strIp, int iPort) |
컬럼 문자열에 IP 주소와 포트 번호를 저장한다. | |
void | CMonitorString::AddCol (uint32_t iIp, uint16_t iPort) |
컬럼 문자열에 IP 주소와 포트 번호를 저장한다. | |
void | CMonitorString::AddCol (int iValue) |
컬럼 문자열에 숫자를 저장한다. | |
void | CMonitorString::AddCol (uint32_t iValue) |
컬럼 문자열에 숫자를 저장한다. | |
void | CMonitorString::AddCol (time_t iTime) |
컬럼 문자열에 시간 문자열을 저장한다. | |
void | CMonitorString::AddCol (bool bValue) |
컬럼 문자열에 true/false 를 저장한다. | |
void | CMonitorString::AddRow (const char *pszValue) |
줄의 마지막 문자열을 저장한다. | |
void | CMonitorString::AddRow (const std::string &strValue) |
줄의 마지막 문자열을 저장한다. | |
void | CMonitorString::AddRow (const std::string &strIp, int iPort) |
줄의 마지막 문자열에 IP 주소와 포트 번호를 저장한다. | |
void | CMonitorString::AddRow (uint32_t iIp, uint16_t iPort) |
줄의 마지막 문자열에 IP 주소와 포트 번호를 저장한다. | |
void | CMonitorString::AddRow (int iValue) |
줄의 마지막 문자열에 숫자를 저장한다. | |
void | CMonitorString::AddRow (uint32_t iValue) |
줄의 마지막 문자열에 숫자를 저장한다. | |
void | CMonitorString::AddRow (time_t iTime) |
줄의 마지막 문자열에 시간 문자열을 저장한다. | |
void | CMonitorString::AddRow (bool bValue) |
줄의 마지막 문자열에 true/false 를 저장한다. | |
void | CMonitorString::Clear () |
저장된 문자열을 초기화시킨다. | |
const char * | CMonitorString::GetString () |
저장된 문자열을 리턴한다. | |
int | CMonitorString::GetLength () |
저장된 문자열의 길이를 리턴한다. | |
bool | CSipBuffer::AddBuf (const char *pszBuf, int iLen) |
내부 버퍼에 데이타를 추가한다. | |
bool | CSipBuffer::GetSipMessage (char **ppszBuf, int *piLen) |
내부 버퍼에서 SIP 메시지를 추출한다. | |
bool | CSipBuffer::ShiftBuf (int iLen) |
내부 버퍼를 왼쪽으로 이동한다. | |
void | CSipBuffer::Clear () |
내부 변수를 초기화시킨다. | |
CSipDeleteQueue::CSipDeleteQueue () | |
생성자 | |
CSipDeleteQueue::~CSipDeleteQueue () | |
소멸자 | |
void | CSipDeleteQueue::Insert (CSipMessage *pclsMessage) |
일정 시간 후에 삭제할 SIP 메시지를 저장한다. | |
void | CSipDeleteQueue::DeleteTimeout () |
대기 시간이 초과한 SIP 메시지를 삭제한다. | |
void | CSipDeleteQueue::DeleteAll () |
대기 SIP 메시지를 모두 삭제한다. | |
int | CSipDeleteQueue::GetSize () |
자료구조에 저장된 SIP 메시지의 개수를 리턴한다. | |
CSipICTList::CSipICTList () | |
생성자 | |
virtual | CSipICTList::~CSipICTList () |
소멸자 | |
virtual bool | CSipICTList::Insert (CSipMessage *pclsMessage) |
Invite Client Transaction List 에 SIP 메시지를 추가한다. | |
virtual void | CSipICTList::Execute (struct timeval *psttTime) |
Invite Client Transaction List 에서 재전송할 항목은 재전송하고 삭제할 항목은 삭제하고 Timeout 된 항목은 Timeout 처리한다. | |
virtual void | CSipICTList::DeleteAll () |
Invite Client Transaction List 의 모든 항목을 삭제한다. | |
virtual int | CSipICTList::GetSize () |
Invite Client Transaction List 의 크기를 리턴한다. | |
virtual void | CSipICTList::GetString (CMonitorString &strBuf) |
ICT 에 저장된 SIP Call-ID 들을 문자열에 저장한다. | |
void | CSipICTList::SetTimerD (int iMiliSecond) |
Timer D 값을 수정한다. | |
void | CSipICTList::GetTransactionMap (INVITE_TRANSACTION_MAP &clsMap) |
transcation map 을 가져온다. | |
CSipInviteTransaction::CSipInviteTransaction () | |
생성자 | |
CSipInviteTransaction::~CSipInviteTransaction () | |
소멸자 | |
CSipISTList::CSipISTList () | |
생성자 | |
virtual | CSipISTList::~CSipISTList () |
소멸자 | |
virtual bool | CSipISTList::Insert (CSipMessage *pclsMessage) |
Invite Server Transaction List 에 SIP 메시지를 추가한다. | |
virtual void | CSipISTList::Execute (struct timeval *psttTime) |
Invite Server Transaction List 에서 삭제할 항목은 삭제하고 ACK 를 수신하지 못 한 항목은 응답 메시지를 재전송해 준다. | |
virtual void | CSipISTList::DeleteAll () |
Invite Server Transaction List 의 모든 항목을 삭제한다. | |
virtual int | CSipISTList::GetSize () |
Invite Server Transaction List 의 크기를 리턴한다. | |
virtual void | CSipISTList::GetString (CMonitorString &strBuf) |
IST 자료구조에 저장된 SIP Call-ID 들을 문자열에 저장한다. | |
CSipNICTList::CSipNICTList () | |
생성자 | |
virtual | CSipNICTList::~CSipNICTList () |
소멸자 | |
virtual bool | CSipNICTList::Insert (CSipMessage *pclsMessage) |
Non-Invite Client Transaction List 에 SIP 메시지를 추가한다. | |
virtual void | CSipNICTList::Execute (struct timeval *psttTime) |
Non-Invite Client Transaction List 에서 재전송할 항목을 재전송하고 timeout 된 항목은 timeout 처리한다. | |
virtual void | CSipNICTList::DeleteAll () |
Non-Invite Client Transaction List 의 모든 항목을 삭제한다. | |
virtual int | CSipNICTList::GetSize () |
Non-Invite Client Transaction List 의 크기를 리턴한다. | |
virtual void | CSipNICTList::GetString (CMonitorString &strBuf) |
NICT 자료구조에 저장된 SIP Call-ID 들을 문자열에 저장한다. | |
bool | CSipNICTList::DeleteCancel (CSipMessage *pclsMessage) |
SIP 메시지에 해당하는 CANCEL 메시지를 검색해서 삭제한다. | |
CSipNISTList::CSipNISTList () | |
생성자 | |
virtual | CSipNISTList::~CSipNISTList () |
소멸자 | |
virtual bool | CSipNISTList::Insert (CSipMessage *pclsMessage) |
Non-Invite Server Transaction List 에 SIP 메시지를 추가한다. | |
virtual void | CSipNISTList::Execute (struct timeval *psttTime) |
Non-Invite Server Transaction List 에서 재전송할 항목에서 삭제할 항목을 삭제한다. | |
virtual void | CSipNISTList::DeleteAll () |
Non-Invite Server Transaction List 의 모든 항목을 삭제한다. | |
virtual int | CSipNISTList::GetSize () |
Non-Invite Server Transaction List 의 크기를 리턴한다. | |
virtual void | CSipNISTList::GetString (CMonitorString &strBuf) |
NIST 자료구조에 저장된 SIP Call-ID 들을 문자열에 저장한다. | |
void | CSipNISTList::SetTimerJ (int iMiliSecond) |
Timer J 값을 수정한다. | |
CSipNonInviteTransaction::CSipNonInviteTransaction () | |
생성자 | |
CSipNonInviteTransaction::~CSipNonInviteTransaction () | |
소멸자 | |
bool | CSipQueue::Insert (const char *pszBuf, int iBufLen, const char *pszIp, unsigned short sPort, ESipTransport eTransport) |
SIP 수신 메시지를 저장한다. | |
bool | CSipQueue::Select (CSipQueueEntry **ppclsEntry) |
SIP 수신 메시지를 가져온다. | |
void | CSipQueue::BroadCast () |
SIP 수신 메시지를 대기하는 쓰레드를 모두 깨운다. | |
CSipStack::CSipStack () | |
생성자 - 내부 변수를 초기화시키고 transaction list 와 SIP stack 을 연결시킨다. | |
CSipStack::~CSipStack () | |
소멸자 | |
bool | CSipStack::Start (CSipStackSetup &clsSetup) |
SIP stack 을 시작한다. | |
bool | CSipStack::Stop () |
SIP stack 을 중지시킨다. | |
bool | CSipStack::Execute (struct timeval *psttTime) |
SIP stack 을 실행한다. | |
void | CSipStack::IncreateUdpThreadCount (int &iThreadId) |
UDP SIP 메시지 수신 쓰레드 개수를 증가시킨다. | |
void | CSipStack::DecreateUdpThreadCount () |
UDP SIP 메시지 수신 쓰레드 개수를 감소시킨다. | |
void | CSipStack::IncreateTcpThreadCount (int &iThreadId) |
TCP SIP 메시지 수신 쓰레드 개수를 증가시킨다. | |
void | CSipStack::DecreateTcpThreadCount () |
TCP SIP 메시지 수신 쓰레드 개수를 감소시킨다. | |
void | CSipStack::GetString (CMonitorString &strBuf) |
Transaction List 의 정보를 문자열에 저장한다. | |
void | CSipStack::GetICTString (CMonitorString &strBuf) |
Invite Client Transaction 정보를 문자열에 저장한다. | |
void | CSipStack::Final () |
프로세스가 종료될 때에 최종적으로 실행하여서 openssl 메모리 누수를 출력하지 않는다. | |
void | CSipStack::DeleteAllTransaction () |
모든 SIP transaction 을 삭제한다. | |
void | CSipStack::GetICTMap (INVITE_TRANSACTION_MAP &clsMap) |
ICT transcation map 을 가져온다. | |
bool | CSipStack::AddCallBack (ISipStackCallBack *pclsCallBack) |
SIP stack 에 callback 인터페이스를 추가한다. | |
bool | CSipStack::DeleteCallBack (ISipStackCallBack *pclsCallBack) |
SIP stack 에 callback 인터페이스를 삭제한다. | |
void | CSipStack::SetSecurityCallBack (ISipStackSecurityCallBack *pclsSecurityCallBack) |
SIP stack 의 보안 기능을 수행할 callback 인터페이스를 등록한다. | |
void | CSipStack::RecvRequest (int iThreadId, CSipMessage *pclsMessage) |
수신된 요청 SIP 메시지에 대한 callback 메소드를 호출한다. | |
void | CSipStack::RecvResponse (int iThreadId, CSipMessage *pclsMessage) |
수신된 응답 SIP 메시지에 대한 callback 메소드를 호출한다. | |
void | CSipStack::SendTimeout (int iThreadId, CSipMessage *pclsMessage) |
전송 SIP 메시지에 대한 timeout callback 메소드를 호출한다. | |
void | CSipStack::TcpSessionEnd (const char *pszIp, int iPort, ESipTransport eTransport) |
TCP/TLS 세션 종료에 대한 callback 메소드를 호출한다. | |
void | CSipStack::ThreadEnd (int iThreadId) |
쓰레드 종료 이벤트를 전달한다. | |
bool | CSipStack::SendSipMessage (CSipMessage *pclsMessage) |
SIP stack 에 SIP 메시지가 존재하지 않으면 SIP stack 에 SIP 메시지를 저장하고 SIP 메시지를 네트워크로 전송한다. | |
bool | CSipStack::RecvSipMessage (int iThreadId, CSipMessage *pclsMessage) |
네트워크에서 수신된 SIP 메시지를 SIP stack 에 저장하고 callback 메소드를 호출하여 응용에 알려 준다. | |
bool | CSipStack::Send (CSipMessage *pclsMessage, bool bCheckMessage=true) |
SIP 메시지를 네트워크로 전송한다. | |
bool | CSipStack::Send (const char *pszMessage, const char *pszIp, unsigned short iPort, ESipTransport eTransport) |
SIP 세션으로 문자열을 전송한다. | |
CSipStackSetup::CSipStackSetup () | |
생성자 | |
CSipStackSetup::~CSipStackSetup () | |
소멸자 | |
bool | CSipStackSetup::Check () |
설정 항목의 유효성을 검사한다. | |
int | CSipStackSetup::GetLocalPort (ESipTransport eTransport) |
전송 프로토콜에 대한 로컬 포트 번호를 리턴한다. | |
void | CSipTransactionList::SetSipStack (CSipStack *pclsSipStack) |
Transaction List 를 포함한 CSipStack 객체의 포인터를 저장한다. | |
static bool | CSipTransactionList::GetKey (CSipMessage *pclsMessage, std::string &strKey) |
Transaction List 에 저장할 키를 가져온다. | |
static bool | CSipTransactionList::GetKey (CSipMessage *pclsMessage, const char *pszMethod, std::string &strKey) |
Transaction List 에 저장할 키를 가져온다. | |
bool | CTcpConnectMap::Insert (const char *pszIp, int iPort) |
TCP 서버에 접속중 정보를 저장한다. | |
bool | CTcpConnectMap::Insert (const char *pszIp, int iPort, CSipMessage *pclsMessage) |
TCP 서버에 접속한 후, 전송할 SIP 메시지를 저장한다. | |
bool | CTcpConnectMap::Delete (const char *pszIp, int iPort, SIP_MESSAGE_LIST &clsList) |
TCP 서버로 전송할 SIP 메시지 리스트를 검색한 후, 해당 정보를 자료구조에서 삭제한다. | |
bool | CTcpConnectMap::Delete (const char *pszIp, int iPort) |
TCP 서버로 전송할 SIP 메시지 리스트 및 해당 정보를 자료구조에서 삭제한다. | |
int | CTcpConnectMap::GetSize () |
자료구조에 저장된 개수를 리턴한다. | |
void | CTcpConnectMap::SetStateful (bool bStateful) |
stateful 여부를 설정한다. | |
void | CTcpConnectMap::GetString (CMonitorString &strBuf) |
자료구조 모니터링 문자열을 저장한다. | |
void | CTcpSessionListInfo::Clear () |
세션 정보를 초기화시킨다. | |
bool | CTcpSessionList::Init (int iPollFdMax) |
TCP 세션 정보를 초기화시킨다. | |
bool | CTcpSessionList::Insert (Socket hSocket) |
TCP 소켓을 추가한다. | |
bool | CTcpSessionList::Insert (CTcpComm &clsTcpComm, SSL *psttSsl=NULL) |
TCP 세션 정보를 추가한다. | |
bool | CTcpSessionList::Delete (int iIndex, CThreadListEntry *pclsEntry) |
TCP 세션 정보를 삭제한다. | |
void | CTcpSessionList::DeleteAll (CThreadListEntry *pclsEntry) |
모든 TCP 세션 정보를 삭제한다. | |
void | CTcpSessionList::DeleteTimeout (int iTimeout, CThreadListEntry *pclsEntry) |
TCP 수신 timeout 이 발생한 TCP 세션을 종료시킨다. | |
bool | CTcpSocketMap::Insert (const char *pszIp, int iPort, Socket hSocket, SSL *psttSsl=NULL) |
클라이언트 정보를 저장한다. | |
bool | CTcpSocketMap::Select (const char *pszIp, int iPort, Socket &hSocket) |
클라이언트 IP 주소와 포트 번호와 연관된 TCP 소켓 핸들을 검색한다. | |
bool | CTcpSocketMap::Delete (const char *pszIp, int iPort) |
자료구조에서 클라이언트 IP 주소와 포트번호에 해당하는 정보를 삭제한다. | |
void | CTcpSocketMap::DeleteAll () |
자료구조를 초기화한다. | |
void | CTcpSocketMap::GetString (CMonitorString &strBuf) |
TCP 세션들의 정보를 하나의 문자열에 저장한다. | |
void | CThreadListEntry::Close () |
소켓을 종료한다. | |
void | CThreadListEntry::IncreaseSocketCount (bool bLock=true) |
소켓 사용 개수를 증가시킨다. | |
void | CThreadListEntry::DecreaseSocketCount (bool bLock=true) |
소켓 사용 개수를 감소시킨다. | |
bool | CThreadList::Init (int iThreadCount, int iThreadMaxCount, void *(*pThreadProc)(void *), void *pUser) |
쓰레드 리스트를 시작한다. | |
void | CThreadList::Final () |
쓰레드 리스트를 종료한다. | |
bool | CThreadList::SetMaxSocketPerThread (int iMaxSocketPerThread) |
하나의 쓰레드에서 처리하는 최대 소켓 개수를 설정한다. | |
bool | CThreadList::SendCommand (const char *pszData, int iDataLen, int iThreadIndex=-1, int *piThreadIndex=NULL) |
쓰레드에 명령을 전송한다. | |
static int | CThreadList::RecvCommand (Socket hSocket, char *pszData, int iDataSize) |
명령을 수신한다. | |
void | CThreadList::GetString (CMonitorString &strBuf) |
쓰레드 정보를 하나의 문자열에 저장한다. |
SIP Stack 라이브러리
bool CSipBuffer::AddBuf | ( | const char * | pszBuf, |
int | iLen | ||
) |
내부 버퍼에 데이타를 추가한다.
pszBuf | 입력할 데이타 |
iLen | 입력할 데이타의 길이 |
bool CSipStack::AddCallBack | ( | ISipStackCallBack * | pclsCallBack | ) |
SIP stack 에 callback 인터페이스를 추가한다.
pclsCallBack | SIP stack 의 callback 인터페이스 |
void CMonitorString::AddCol | ( | const char * | pszValue | ) |
컬럼 문자열을 저장한다.
pszValue | 문자열 |
void CMonitorString::AddCol | ( | const std::string & | strValue | ) |
컬럼 문자열을 저장한다.
strValue | 문자열 |
void CMonitorString::AddCol | ( | const std::string & | strIp, |
int | iPort | ||
) |
컬럼 문자열에 IP 주소와 포트 번호를 저장한다.
strIp | IP 주소 |
iPort | 포트 번호 |
void CMonitorString::AddCol | ( | uint32_t | iIp, |
uint16_t | iPort | ||
) |
컬럼 문자열에 IP 주소와 포트 번호를 저장한다.
iIp | IP 주소 |
iPort | 포트 번호 |
void CMonitorString::AddCol | ( | int | iValue | ) |
컬럼 문자열에 숫자를 저장한다.
iValue | 숫자 |
void CMonitorString::AddCol | ( | uint32_t | iValue | ) |
컬럼 문자열에 숫자를 저장한다.
iValue | 숫자 |
void CMonitorString::AddCol | ( | time_t | iTime | ) |
컬럼 문자열에 시간 문자열을 저장한다.
iTime | 시간 |
void CMonitorString::AddCol | ( | bool | bValue | ) |
컬럼 문자열에 true/false 를 저장한다.
bValue | true/false |
void CMonitorString::AddRow | ( | const char * | pszValue | ) |
줄의 마지막 문자열을 저장한다.
pszValue | 문자열 |
void CMonitorString::AddRow | ( | const std::string & | strValue | ) |
줄의 마지막 문자열을 저장한다.
strValue | 문자열 |
void CMonitorString::AddRow | ( | const std::string & | strIp, |
int | iPort | ||
) |
줄의 마지막 문자열에 IP 주소와 포트 번호를 저장한다.
strIp | IP 주소 |
iPort | 포트 번호 |
void CMonitorString::AddRow | ( | uint32_t | iIp, |
uint16_t | iPort | ||
) |
줄의 마지막 문자열에 IP 주소와 포트 번호를 저장한다.
iIp | IP 주소 |
iPort | 포트 번호 |
void CMonitorString::AddRow | ( | int | iValue | ) |
줄의 마지막 문자열에 숫자를 저장한다.
iValue | 숫자 |
void CMonitorString::AddRow | ( | uint32_t | iValue | ) |
줄의 마지막 문자열에 숫자를 저장한다.
iValue | 숫자 |
void CMonitorString::AddRow | ( | time_t | iTime | ) |
줄의 마지막 문자열에 시간 문자열을 저장한다.
iTime | 시간 |
void CMonitorString::AddRow | ( | bool | bValue | ) |
줄의 마지막 문자열에 true/false 를 저장한다.
bValue | true/false |
void CSipQueue::BroadCast | ( | ) |
SIP 수신 메시지를 대기하는 쓰레드를 모두 깨운다.
bool CSipStackSetup::Check | ( | ) |
설정 항목의 유효성을 검사한다.
void CSipBuffer::Clear | ( | ) |
내부 변수를 초기화시킨다.
void CMonitorString::Clear | ( | ) |
저장된 문자열을 초기화시킨다.
void CTcpSessionListInfo::Clear | ( | ) |
세션 정보를 초기화시킨다.
void CThreadListEntry::Close | ( | ) |
소켓을 종료한다.
CSipDeleteQueue::CSipDeleteQueue | ( | ) |
생성자
CSipICTList::CSipICTList | ( | ) |
생성자
CSipInviteTransaction::CSipInviteTransaction | ( | ) |
생성자
CSipISTList::CSipISTList | ( | ) |
생성자
CSipNICTList::CSipNICTList | ( | ) |
생성자
CSipNISTList::CSipNISTList | ( | ) |
생성자
CSipNonInviteTransaction::CSipNonInviteTransaction | ( | ) |
생성자
CSipStack::CSipStack | ( | ) |
생성자 - 내부 변수를 초기화시키고 transaction list 와 SIP stack 을 연결시킨다.
CSipStackSetup::CSipStackSetup | ( | ) |
생성자
void CThreadListEntry::DecreaseSocketCount | ( | bool | bLock = true | ) |
소켓 사용 개수를 감소시킨다.
void CSipStack::DecreateTcpThreadCount | ( | ) |
TCP SIP 메시지 수신 쓰레드 개수를 감소시킨다.
void CSipStack::DecreateUdpThreadCount | ( | ) |
UDP SIP 메시지 수신 쓰레드 개수를 감소시킨다.
bool CTcpConnectMap::Delete | ( | const char * | pszIp, |
int | iPort, | ||
SIP_MESSAGE_LIST & | clsList | ||
) |
TCP 서버로 전송할 SIP 메시지 리스트를 검색한 후, 해당 정보를 자료구조에서 삭제한다.
pszIp | TCP 서버 IP 주소 |
iPort | TCP 서버 포트 번호 |
clsList | TCP 서버로 전송할 SIP 메시지 리스트 저장을 위한 변수 |
bool CTcpConnectMap::Delete | ( | const char * | pszIp, |
int | iPort | ||
) |
TCP 서버로 전송할 SIP 메시지 리스트 및 해당 정보를 자료구조에서 삭제한다.
pszIp | TCP 서버 IP 주소 |
iPort | TCP 서버 포트 번호 |
bool CTcpSocketMap::Delete | ( | const char * | pszIp, |
int | iPort | ||
) |
자료구조에서 클라이언트 IP 주소와 포트번호에 해당하는 정보를 삭제한다.
pszIp | 클라이언트 IP 주소 |
iPort | 클라이언트 포트 번호 |
bool CTcpSessionList::Delete | ( | int | iIndex, |
CThreadListEntry * | pclsEntry | ||
) |
TCP 세션 정보를 삭제한다.
iIndex | TCP 세션 인덱스 |
pclsEntry | TCP 쓰레드 정보 객체 |
|
virtual |
Invite Client Transaction List 의 모든 항목을 삭제한다.
CSipTransactionList를 구현.
|
virtual |
Invite Server Transaction List 의 모든 항목을 삭제한다.
CSipTransactionList를 구현.
|
virtual |
Non-Invite Client Transaction List 의 모든 항목을 삭제한다.
CSipTransactionList를 구현.
|
virtual |
Non-Invite Server Transaction List 의 모든 항목을 삭제한다.
CSipTransactionList를 구현.
void CSipDeleteQueue::DeleteAll | ( | ) |
대기 SIP 메시지를 모두 삭제한다.
void CTcpSocketMap::DeleteAll | ( | ) |
자료구조를 초기화한다.
void CTcpSessionList::DeleteAll | ( | CThreadListEntry * | pclsEntry | ) |
모든 TCP 세션 정보를 삭제한다.
pclsEntry | TCP 쓰레드 정보 객체 |
void CSipStack::DeleteAllTransaction | ( | ) |
모든 SIP transaction 을 삭제한다.
bool CSipStack::DeleteCallBack | ( | ISipStackCallBack * | pclsCallBack | ) |
SIP stack 에 callback 인터페이스를 삭제한다.
pclsCallBack | SIP stack 의 callback 인터페이스 |
bool CSipNICTList::DeleteCancel | ( | CSipMessage * | pclsMessage | ) |
SIP 메시지에 해당하는 CANCEL 메시지를 검색해서 삭제한다.
pclsMessage | SIP 메시지 |
void CSipDeleteQueue::DeleteTimeout | ( | ) |
대기 시간이 초과한 SIP 메시지를 삭제한다.
void CTcpSessionList::DeleteTimeout | ( | int | iTimeout, |
CThreadListEntry * | pclsEntry | ||
) |
TCP 수신 timeout 이 발생한 TCP 세션을 종료시킨다.
iTimeout | TCP 수신 timeout 시간 (초단위) |
pclsEntry | TCP 쓰레드 정보 |
|
virtual |
Invite Client Transaction List 에서 재전송할 항목은 재전송하고 삭제할 항목은 삭제하고 Timeout 된 항목은 Timeout 처리한다.
psttTime | 실행한 시간 |
CSipTransactionList를 구현.
|
virtual |
Invite Server Transaction List 에서 삭제할 항목은 삭제하고 ACK 를 수신하지 못 한 항목은 응답 메시지를 재전송해 준다.
psttTime | 실행한 시간 |
CSipTransactionList를 구현.
|
virtual |
Non-Invite Client Transaction List 에서 재전송할 항목을 재전송하고 timeout 된 항목은 timeout 처리한다.
psttTime | 실행한 시간 |
CSipTransactionList를 구현.
|
virtual |
Non-Invite Server Transaction List 에서 재전송할 항목에서 삭제할 항목을 삭제한다.
psttTime | 실행한 시간 |
CSipTransactionList를 구현.
bool CSipStack::Execute | ( | struct timeval * | psttTime | ) |
SIP stack 을 실행한다.
SIP stack 이 관리하는 Transaction List 를 주기적으로 점검하여서 Re-Transmit 또는 Timeout 등을 처리하기 위해서 본 함수를 20ms 간격으로 호출해 주어야 한다.
psttTime | 현재 시간 |
void CThreadList::Final | ( | ) |
쓰레드 리스트를 종료한다.
void CSipStack::Final | ( | ) |
프로세스가 종료될 때에 최종적으로 실행하여서 openssl 메모리 누수를 출력하지 않는다.
void CSipStack::GetICTMap | ( | INVITE_TRANSACTION_MAP & | clsMap | ) |
ICT transcation map 을 가져온다.
clsMap | [out] transcation map 저장 변수 |
void CSipStack::GetICTString | ( | CMonitorString & | strBuf | ) |
Invite Client Transaction 정보를 문자열에 저장한다.
strBuf | 문자열 변수 |
|
static |
Transaction List 에 저장할 키를 가져온다.
pclsMessage | SIP 메시지 저장 구조체 |
strKey | Transaction List 에 저장할 키 |
|
static |
Transaction List 에 저장할 키를 가져온다.
pclsMessage | SIP 메시지 저장 구조체 |
pszMethod | SIP Via branch 로 키를 생성할 경우 사용할 SIP 메소드 |
strKey | Transaction List 에 저장할 키 |
int CMonitorString::GetLength | ( | ) |
저장된 문자열의 길이를 리턴한다.
int CSipStackSetup::GetLocalPort | ( | ESipTransport | eTransport | ) |
전송 프로토콜에 대한 로컬 포트 번호를 리턴한다.
bool CSipBuffer::GetSipMessage | ( | char ** | ppszBuf, |
int * | piLen | ||
) |
내부 버퍼에서 SIP 메시지를 추출한다.
ppszBuf | 추출한 SIP 메시지의 포인터를 저장할 변수 |
piLen | 추출한 SIP 메시지의 길이 |
|
virtual |
Invite Client Transaction List 의 크기를 리턴한다.
CSipTransactionList를 구현.
|
virtual |
Invite Server Transaction List 의 크기를 리턴한다.
CSipTransactionList를 구현.
|
virtual |
Non-Invite Client Transaction List 의 크기를 리턴한다.
CSipTransactionList를 구현.
|
virtual |
Non-Invite Server Transaction List 의 크기를 리턴한다.
CSipTransactionList를 구현.
int CSipDeleteQueue::GetSize | ( | ) |
자료구조에 저장된 SIP 메시지의 개수를 리턴한다.
int CTcpConnectMap::GetSize | ( | ) |
자료구조에 저장된 개수를 리턴한다.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
const char * CMonitorString::GetString | ( | ) |
저장된 문자열을 리턴한다.
void CTcpConnectMap::GetString | ( | CMonitorString & | strBuf | ) |
자료구조 모니터링 문자열을 저장한다.
strBuf | 문자열 변수 |
void CSipStack::GetString | ( | CMonitorString & | strBuf | ) |
Transaction List 의 정보를 문자열에 저장한다.
strBuf | 문자열 변수 |
void CTcpSocketMap::GetString | ( | CMonitorString & | strBuf | ) |
TCP 세션들의 정보를 하나의 문자열에 저장한다.
strBuf | TCP 세션들의 정보를 저장할 문자열 변수 |
void CThreadList::GetString | ( | CMonitorString & | strBuf | ) |
쓰레드 정보를 하나의 문자열에 저장한다.
strBuf | 쓰레드 정보를 저장할 문자열 변수 |
void CSipICTList::GetTransactionMap | ( | INVITE_TRANSACTION_MAP & | clsMap | ) |
transcation map 을 가져온다.
clsMap | [out] transcation map 을 저장할 변수 |
void CThreadListEntry::IncreaseSocketCount | ( | bool | bLock = true | ) |
소켓 사용 개수를 증가시킨다.
void CSipStack::IncreateTcpThreadCount | ( | int & | iThreadId | ) |
TCP SIP 메시지 수신 쓰레드 개수를 증가시킨다.
iThreadId | UDP SIP 메시지 수신 쓰레드 개수를 증가시키기 전에 UDP SIP 메시지 수신 쓰레드 개수를 저장할 변수 |
void CSipStack::IncreateUdpThreadCount | ( | int & | iThreadId | ) |
UDP SIP 메시지 수신 쓰레드 개수를 증가시킨다.
iThreadId | UDP SIP 메시지 수신 쓰레드 개수를 증가시키기 전에 UDP SIP 메시지 수신 쓰레드 개수를 저장할 변수 |
bool CThreadList::Init | ( | int | iThreadCount, |
int | iThreadMaxCount, | ||
void *(*)(void *) | pThreadProc, | ||
void * | pUser | ||
) |
쓰레드 리스트를 시작한다.
iThreadCount | 생성할 쓰레드 개수 |
iThreadMaxCount | 최대 쓰레드 개수 |
pThreadProc | 쓰레드 함수 |
pUser | 사용자 정의 변수 |
bool CTcpSessionList::Init | ( | int | iPollFdMax | ) |
TCP 세션 정보를 초기화시킨다.
iPollFdMax | TCP 세션 개수 |
|
virtual |
Invite Server Transaction List 에 SIP 메시지를 추가한다.
pclsMessage | SIP 메시지 저장 구조체 |
CSipTransactionList를 구현.
|
virtual |
Invite Client Transaction List 에 SIP 메시지를 추가한다.
pclsMessage | SIP 메시지 저장 구조체 |
CSipTransactionList를 구현.
|
virtual |
Non-Invite Client Transaction List 에 SIP 메시지를 추가한다.
pclsMessage | SIP 메시지 저장 구조체 |
CSipTransactionList를 구현.
|
virtual |
Non-Invite Server Transaction List 에 SIP 메시지를 추가한다.
pclsMessage | SIP 메시지 저장 구조체 |
CSipTransactionList를 구현.
void CSipDeleteQueue::Insert | ( | CSipMessage * | pclsMessage | ) |
일정 시간 후에 삭제할 SIP 메시지를 저장한다.
pclsMessage | 만료된 SIP 메시지 |
bool CTcpConnectMap::Insert | ( | const char * | pszIp, |
int | iPort | ||
) |
TCP 서버에 접속중 정보를 저장한다.
pszIp | TCP 서버 IP 주소 |
iPort | TCP 서버 포트 번호 |
bool CTcpConnectMap::Insert | ( | const char * | pszIp, |
int | iPort, | ||
CSipMessage * | pclsMessage | ||
) |
TCP 서버에 접속한 후, 전송할 SIP 메시지를 저장한다.
pszIp | TCP 서버 IP 주소 |
iPort | TCP 서버 포트 번호 |
pclsMessage | SIP 메시지 |
bool CTcpSocketMap::Insert | ( | const char * | pszIp, |
int | iPort, | ||
Socket | hSocket, | ||
SSL * | psttSsl = NULL |
||
) |
클라이언트 정보를 저장한다.
pszIp | 클라이언트 IP 주소 |
iPort | 클라이언트 포트 번호 |
hSocket | TCP 소켓 |
psttSsl | SSL 구조체 |
bool CSipQueue::Insert | ( | const char * | pszBuf, |
int | iBufLen, | ||
const char * | pszIp, | ||
unsigned short | sPort, | ||
ESipTransport | eTransport | ||
) |
SIP 수신 메시지를 저장한다.
pszBuf | SIP 수신 메시지 |
iBufLen | SIP 수신 메시지 길이 |
pszIp | SIP 전송 IP 주소 |
sPort | SIP 전송 포트 번호 |
eTransport | SIP 전송 프로토콜 |
bool CTcpSessionList::Insert | ( | Socket | hSocket | ) |
TCP 소켓을 추가한다.
hSocket | TCP 소켓 |
bool CTcpSessionList::Insert | ( | CTcpComm & | clsTcpComm, |
SSL * | psttSsl = NULL |
||
) |
TCP 세션 정보를 추가한다.
clsTcpComm | TCP 세션 정보 저장 객체 |
psttSsl | SSL 세션 정보 저장 구조체 - SSL 세션인 경우만 저장한다. |
|
pure virtual |
SIP stack 에서 허용하는 IP 주소인가?
pszIp | 클라이언트 IP 주소 |
|
pure virtual |
SIP stack 에서 허용하는 SIP User Agent 인가?
pszSipUserAgent | SIP UserAgent 헤더 |
|
pure virtual |
SIP stack 에서 허용하지 않는 IP 주소인가?
pszIp | 클라이언트 IP 주소 |
|
pure virtual |
SIP stack 에서 허용하지 않는 SIP User Agent 인가?
pszSipUserAgent | SIP UserAgent 헤더 |
|
static |
명령을 수신한다.
hSocket | pipe 수신 핸들 |
pszData | 명령 저장 변수 |
iDataSize | pszData 변수 크기 |
|
pure virtual |
SIP 요청 메시지 수신 이벤트 핸들러
iThreadId | UDP 쓰레드 번호 |
pclsMessage | SIP 요청 메시지 |
CSipUserAgent, CSipUserAgentMFC에서 구현되었습니다.
void CSipStack::RecvRequest | ( | int | iThreadId, |
CSipMessage * | pclsMessage | ||
) |
수신된 요청 SIP 메시지에 대한 callback 메소드를 호출한다.
만약 요청 SIP 메시지를 처리할 callback 이 존재하지 않으면 501 응답 메시지를 전송한다.
iThreadId | 쓰레드 아이디 ( 0 부터 쓰레드 개수 ) |
pclsMessage | SIP 메시지 저장 구조체 |
|
pure virtual |
SIP 응답 메시지 수신 이벤트 핸들러
iThreadId | UDP 쓰레드 번호 |
pclsMessage | SIP 응답 메시지 |
CSipUserAgent, CSipUserAgentMFC에서 구현되었습니다.
void CSipStack::RecvResponse | ( | int | iThreadId, |
CSipMessage * | pclsMessage | ||
) |
수신된 응답 SIP 메시지에 대한 callback 메소드를 호출한다.
iThreadId | 쓰레드 아이디 ( 0 부터 쓰레드 개수 ) |
pclsMessage | SIP 메시지 저장 구조체 |
bool CSipStack::RecvSipMessage | ( | int | iThreadId, |
CSipMessage * | pclsMessage | ||
) |
네트워크에서 수신된 SIP 메시지를 SIP stack 에 저장하고 callback 메소드를 호출하여 응용에 알려 준다.
본 메소드에서 true 를 리턴하면 내부적으로 CSipMessage 메모리를 관리하고 그렇지 않으면 호출한 부분에서 CSipMessage 메모리를 삭제해 주어야 한다.
iThreadId | 쓰레드 아이디 ( 0 부터 쓰레드 개수 ) |
pclsMessage | SIP 메시지 저장 구조체 |
bool CTcpSocketMap::Select | ( | const char * | pszIp, |
int | iPort, | ||
Socket & | hSocket | ||
) |
클라이언트 IP 주소와 포트 번호와 연관된 TCP 소켓 핸들을 검색한다.
pszIp | 클라이언트 IP 주소 |
iPort | 클라이언트 포트 번호 |
hSocket | TCP 소켓을 저장할 변수 |
bool CSipQueue::Select | ( | CSipQueueEntry ** | ppclsEntry | ) |
SIP 수신 메시지를 가져온다.
ppclsEntry | SIP 수신 메시지를 저장할 변수 |
bool CSipStack::Send | ( | CSipMessage * | pclsMessage, |
bool | bCheckMessage = true |
||
) |
SIP 메시지를 네트워크로 전송한다.
pclsMessage | SIP 메시지 저장 구조체 |
bCheckMessage | SIP 메시지를 검사하여서 필수 헤더를 추가/수정하는가? |
bool CSipStack::Send | ( | const char * | pszMessage, |
const char * | pszIp, | ||
unsigned short | iPort, | ||
ESipTransport | eTransport | ||
) |
SIP 세션으로 문자열을 전송한다.
pszMessage | 전송할 문자열 |
pszIp | 목적지 IP 주소 |
iPort | 목적지 포트 번호 |
eTransport | 프로토콜 |
bool CThreadList::SendCommand | ( | const char * | pszData, |
int | iDataLen, | ||
int | iThreadIndex = -1 , |
||
int * | piThreadIndex = NULL |
||
) |
쓰레드에 명령을 전송한다.
pszData | 명령 |
iDataLen | pszData 길이 |
iThreadIndex | 명령을 전송할 쓰레드 인덱스 -1 을 입력하면 최대 소켓 개수를 넘지 않은 쓰레드에 명령이 전송된다. |
piThreadIndex | 실제 전송된 쓰레드 인덱스를 저장하는 변수 |
bool CSipStack::SendSipMessage | ( | CSipMessage * | pclsMessage | ) |
SIP stack 에 SIP 메시지가 존재하지 않으면 SIP stack 에 SIP 메시지를 저장하고 SIP 메시지를 네트워크로 전송한다.
pclsMessage | SIP 메시지 저장 구조체 |
|
pure virtual |
SIP 메시지 전송 timeout 이벤트 핸들러
iThreadId | UDP 쓰레드 번호 |
pclsMessage | SIP 응답 메시지 |
CSipUserAgent, CSipUserAgentMFC에서 구현되었습니다.
void CSipStack::SendTimeout | ( | int | iThreadId, |
CSipMessage * | pclsMessage | ||
) |
전송 SIP 메시지에 대한 timeout callback 메소드를 호출한다.
iThreadId | 쓰레드 아이디 ( 0 부터 쓰레드 개수 ) |
pclsMessage | SIP 메시지 저장 구조체 |
bool CThreadList::SetMaxSocketPerThread | ( | int | iMaxSocketPerThread | ) |
하나의 쓰레드에서 처리하는 최대 소켓 개수를 설정한다.
iMaxSocketPerThread | 하나의 쓰레드에서 처리하는 최대 소켓 개수 |
void CSipStack::SetSecurityCallBack | ( | ISipStackSecurityCallBack * | pclsSecurityCallBack | ) |
SIP stack 의 보안 기능을 수행할 callback 인터페이스를 등록한다.
pclsSecurityCallBack |
void CSipTransactionList::SetSipStack | ( | CSipStack * | pclsSipStack | ) |
void CTcpConnectMap::SetStateful | ( | bool | bStateful | ) |
stateful 여부를 설정한다.
bStateful | stateful 이면 true 이다. |
void CSipICTList::SetTimerD | ( | int | iMiliSecond | ) |
Timer D 값을 수정한다.
iMiliSecond | Timer D 값 ( milisecond 단위 ) |
void CSipNISTList::SetTimerJ | ( | int | iMiliSecond | ) |
Timer J 값을 수정한다.
iMiliSecond | Timer J 값 ( milisecond 단위 ) |
bool CSipBuffer::ShiftBuf | ( | int | iLen | ) |
내부 버퍼를 왼쪽으로 이동한다.
SIP 메시지를 처리한 후에 호출하면 된다.
iLen | 이동할 길이 |
THREAD_API SipQueueThread | ( | LPVOID | lpParameter | ) |
SIP 큐에서 SIP 메시지를 가져와서 파싱 및 callback 처리하는 쓰레드
lpParameter | SIP stack 객체 |
THREAD_API SipStackThread | ( | LPVOID | lpParameter | ) |
주기적으로 SIP stack 을 실행하는 쓰레드
lpParameter | SIP stack 객체 |
THREAD_API SipTcpClientThread | ( | LPVOID | lpParameter | ) |
THREAD_API SipTcpListenThread | ( | LPVOID | lpParameter | ) |
TCP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 쓰레드 함수
lpParameter | SIP stack 포인터 |
THREAD_API SipTcpThread | ( | LPVOID | lpParameter | ) |
THREAD_API SipTlsClientThread | ( | LPVOID | lpParameter | ) |
THREAD_API SipTlsListenThread | ( | LPVOID | lpParameter | ) |
TLS 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 쓰레드 함수
lpParameter | SIP stack 포인터 |
THREAD_API SipTlsThread | ( | LPVOID | lpParameter | ) |
THREAD_API SipUdpThread | ( | LPVOID | lpParameter | ) |
UDP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 쓰레드 함수
lpParameter | SIP stack 포인터 |
bool SSLAccept | ( | Socket | iFd, |
SSL ** | ppsttSsl, | ||
bool | bCheckClientCert, | ||
int | iVerifyDepth, | ||
int | iAcceptTimeout | ||
) |
클라이언트 SSL 접속 요청을 허용한다.
iFd | 클라이언트 TCP 소켓 핸들 |
ppsttSsl | SSL 구조체 |
bCheckClientCert | 클라이언트 인증서를 확인할 것인가? |
iVerifyDepth | the maximum depth for the certificate chain verification that shall be allowed for ssl |
iAcceptTimeout | SSL 접속 요청 처리 최대 시간 ( ms 단위 ) |
bool SSLClientStart | ( | ) |
SSL 클라이언트 라이브러리를 시작한다.
bool SSLClientStop | ( | ) |
SSL 클라이언트 라이브러리를 종료한다.
bool SSLClose | ( | SSL * | ssl | ) |
SSL 세션을 종료한다.
ssl | SSL 구조체 |
void SSLFinal | ( | ) |
프로세스가 종료될 때에 최종적으로 실행하여서 openssl 메모리 누수를 출력하지 않는다.
void SSLPrintLogClientCipherList | ( | ) |
SSL 클라이언트에서 사용되는 cipher list 를 로그로 출력한다.
void SSLPrintLogServerCipherList | ( | ) |
SSL 서버에서 사용되는 cipher list 를 로그로 출력한다.
int SSLRecv | ( | SSL * | ssl, |
char * | szBuf, | ||
int | iBufLen | ||
) |
SSL 프로토콜로 수신된 패킷을 읽는다.
ssl | SSL 구조체 |
szBuf | 수신 패킷 저장 버퍼 |
iBufLen | 수신 패킷 저장 버퍼 크기 |
int SSLSend | ( | SSL * | ssl, |
const char * | szBuf, | ||
int | iBufLen | ||
) |
SSL 프로토콜로 패킷을 전송한다.
ssl | SSL 구조체 |
szBuf | 전송 패킷 |
iBufLen | 전송 패킷 크기 |
bool SSLServerStart | ( | const char * | szCertFile, |
const char * | szCaCertFile | ||
) |
SSL 서버 라이브러리를 시작한다.
szCertFile | 서버 인증서 및 개인키 파일 |
szCaCertFile | CA 인증서 파일 |
bool SSLServerStop | ( | ) |
SSL 서버 라이브러리를 종료한다.
bool SSLStart | ( | ) |
SSL 라이브러리를 multi-thread 기반으로 시작한다.
bool CSipStack::Start | ( | CSipStackSetup & | clsSetup | ) |
SIP stack 을 시작한다.
SIP stack 쓰레드와 network 수신 쓰레드를 시작한다.
clsSetup | SIP stack 설정 항목 저장 객체 |
bool StartSipQueueThread | ( | CSipStack * | pclsSipStack | ) |
SIP 큐에서 SIP 메시지를 가져와서 파싱 및 callback 처리하는 쓰레드를 시작한다.
pclsSipStack | SIP stack 객체 |
bool StartSipStackThread | ( | CSipStack * | pclsSipStack | ) |
SIP stack thread 를 시작한다.
pclsSipStack | SIP stack 객체 |
bool StartSipTcpClientThread | ( | CSipStack * | pclsSipStack, |
const char * | pszIp, | ||
int | iPort, | ||
CSipMessage * | pclsSipMessage | ||
) |
TCP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 Thread Pool 을 시작한다.
pclsSipStack | SIP stack 포인터 |
pszIp | SIP 메시지를 전송할 IP 주소 |
iPort | SIP 메시지를 전송할 포트 번호 |
pclsSipMessage | 전송할 SIP 메시지 |
bool StartSipTcpListenThread | ( | CSipStack * | pclsSipStack | ) |
TCP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 Thread Pool 을 시작한다.
pclsSipStack | SIP stack 포인터 |
bool StartSipTlsClientThread | ( | CSipStack * | pclsSipStack, |
const char * | pszIp, | ||
int | iPort, | ||
CSipMessage * | pclsSipMessage | ||
) |
TCP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 Thread Pool 을 시작한다.
pclsSipStack | SIP stack 포인터 |
pszIp | SIP 메시지를 전송할 IP 주소 |
iPort | SIP 메시지를 전송할 포트 번호 |
pclsSipMessage | 전송할 SIP 메시지 |
bool StartSipTlsListenThread | ( | CSipStack * | pclsSipStack | ) |
TLS 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 Thread Pool 을 시작한다.
pclsSipStack | SIP stack 포인터 |
bool StartSipUdpThread | ( | CSipStack * | pclsSipStack | ) |
UDP 프로토콜로 SIP 메시지 수신 및 SIP 수신 이벤트를 처리하는 Thread Pool 을 시작한다.
pclsSipStack | SIP stack 포인터 |
bool CSipStack::Stop | ( | ) |
SIP stack 을 중지시킨다.
|
inlinevirtual |
void CSipStack::TcpSessionEnd | ( | const char * | pszIp, |
int | iPort, | ||
ESipTransport | eTransport | ||
) |
TCP/TLS 세션 종료에 대한 callback 메소드를 호출한다.
pszIp | IP 주소 |
iPort | 포트 번호 |
eTransport | 프로토콜 |
|
inlinevirtual |
void CSipStack::ThreadEnd | ( | int | iThreadId | ) |
쓰레드 종료 이벤트를 전달한다.
iThreadId | 쓰레드 아이디 ( 0 부터 쓰레드 개수 ) |
CSipDeleteQueue::~CSipDeleteQueue | ( | ) |
소멸자
|
virtual |
소멸자
CSipInviteTransaction::~CSipInviteTransaction | ( | ) |
소멸자
|
virtual |
소멸자
|
virtual |
소멸자
|
virtual |
소멸자
CSipNonInviteTransaction::~CSipNonInviteTransaction | ( | ) |
소멸자
CSipStack::~CSipStack | ( | ) |
소멸자
CSipStackSetup::~CSipStackSetup | ( | ) |
소멸자