⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex_call.h

📁 libeXosip2-3.0.3.tar.gz
💻 H
字号:
/*  eXosip - This is the eXtended osip library.  Copyright (C) 2002,2003,2004,2005,2006,2007  Aymeric MOIZARD  - jack@atosc.org    eXosip is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation; either version 2 of the License, or  (at your option) any later version.    eXosip is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.    You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#ifdef ENABLE_MPATROL#include <mpatrol.h>#endif#ifndef __EX_CALL_H__#define __EX_CALL_H__#include <osipparser2/osip_parser.h>#include <osipparser2/sdp_message.h>#include <time.h>#ifdef __cplusplusextern "C"{#endif/** * @file eX_call.h * @brief eXosip call API * * This file provide the API needed to control calls. You can * use it to: * * <ul> * <li>build initial invite.</li> * <li>send initial invite.</li> * <li>build request within the call.</li> * <li>send request within the call.</li> * </ul> * * This API can be used to build the following messages: * <pre> *    INVITE, INFO, OPTIONS, REFER, UPDATE, NOTIFY * </pre> *//** * @defgroup eXosip2_call eXosip2 INVITE and Call Management * @ingroup eXosip2_msg * @{ */  struct eXosip_call_t;/** * Set a new application context for an existing call * * @param id       call-id or dialog-id of call * @param reference New application context. */  int eXosip_call_set_reference(int id, void *reference);/** * Build a default INVITE message for a new call. *  * @param invite    Pointer for the SIP element to hold. * @param to        SIP url for callee. * @param from      SIP url for caller. * @param route     Route header for INVITE. (optionnal) * @param subject   Subject for the call. */  int eXosip_call_build_initial_invite(osip_message_t **invite, const char *to,				       const char *from, const char *route,				       const char *subject);/** * Initiate a call. *  * @param invite          SIP INVITE message to send. */  int eXosip_call_send_initial_invite(osip_message_t *invite);/** * Build a default request within a call. (INVITE, OPTIONS, INFO, REFER) *  * @param did          dialog id of call. * @param method       request type to build. * @param request      The sip request to build. */  int eXosip_call_build_request(int did, const char *method,				osip_message_t **request);/** * Build a default ACK for a 200ok received. *  * @param did          dialog id of call. * @param ack          The sip request to build. */  int eXosip_call_build_ack(int did, osip_message_t **ack);/** * Send the ACK for the 200ok received.. *  * @param did          dialog id of call. * @param ack          SIP ACK message to send. */  int eXosip_call_send_ack(int did, osip_message_t *ack);/** * Build a default REFER for a call transfer. *  * @param did          dialog id of call. * @param refer_to     url for call transfer (Refer-To header). * @param request      The sip request to build. */  int eXosip_call_build_refer(int did, const char *refer_to, osip_message_t **request);/** * Build a default INFO within a call. *  * @param did          dialog id of call. * @param request      The sip request to build. */  int eXosip_call_build_info(int did, osip_message_t **request);/** * Build a default OPTIONS within a call. *  * @param did          dialog id of call. * @param request      The sip request to build. */  int eXosip_call_build_options(int did, osip_message_t **request);/** * Build a default UPDATE within a call. *  * @param did          dialog id of call. * @param request      The sip request to build. */  int eXosip_call_build_update(int did, osip_message_t **request);/** * Build a default NOTIFY within a call. *  * @param did                   dialog id of call. * @param subscription_status   Subscription status of the request. * @param request               The sip request to build. */  int eXosip_call_build_notify(int did, int subscription_status, osip_message_t **request);/** * send the request within call. (INVITE, OPTIONS, INFO, REFER, UPDATE) *  * @param did          dialog id of call. * @param request      The sip request to send. */  int eXosip_call_send_request(int did, osip_message_t *request);/** * Build default Answer for request. *  * @param tid          id of transaction to answer. * @param status       Status code to use. * @param answer       The sip answer to build. */  int eXosip_call_build_answer(int tid, int status, osip_message_t **answer);/** * Send Answer for invite. *  * @param tid          id of transaction to answer. * @param status       response status if answer is NULL. (not allowed for 2XX) * @param answer       The sip answer to send. */  int eXosip_call_send_answer(int tid, int status, osip_message_t *answer);/** * Terminate a call. * send CANCEL, BYE or 603 Decline. *  * @param cid          call id of call. * @param did          dialog id of call. */  int eXosip_call_terminate(int cid, int did);/** * Build a PRACK for invite. *  * @param tid          id of the invite transaction. * @param prack        The sip prack to build. */  int eXosip_call_build_prack(int tid, osip_message_t **prack);/** * Send a PRACK for invite. *  * @param tid          id of the invite transaction. * @param prack        The sip prack to send. */  int eXosip_call_send_prack(int tid, osip_message_t *prack);/** * Send a NOTIFY containing the information about a call transfer. *  * THIS METHOD WILL BE REPLACED or REMOVED, please use the * new API to build NOTIFY. *  * @param did                  dialog id of call. * @param subscription_status  the subscription status. * @param body                 the body to attach to NOTIFY. */  int eXosip_transfer_send_notify(int did, int subscription_status, char *body);/** * Get Refer-To header with Replace parameter from dialog. *  * @param did            id of the dialog. * @param refer_to       buffer to be filled with refer-to info. * @param refer_to_len   size of refer_to buffer. */  int eXosip_call_get_referto(int did, char *refer_to, size_t refer_to_len);/** * Return did (or cid) for the replace header. *  * @param replaces       buffer to be filled with refer-to info. */  int eXosip_call_find_by_replaces (char* replaces);/** @} */#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -