|
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 | ( | ) |
소멸자
1.8.1.2