Skip to content

Commit

Permalink
sip_agent_create parameter -> sip_agent_input
Browse files Browse the repository at this point in the history
  • Loading branch information
ireader committed May 16, 2021
1 parent 719fb37 commit 75ea697
Show file tree
Hide file tree
Showing 24 changed files with 384 additions and 364 deletions.
16 changes: 7 additions & 9 deletions libsip/include/sip-agent.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ struct sip_uas_handler_t
/// @param[in] received replace url host address if has valid value
/// @param[in] rport valid only rport > 0, if rport <= 0, then use url host port; if host port is empty, then use default sip port
/// @return 0-ok, <0-error, other-reserved
int(*send)(void* param, const struct cstring_t* protocol, const struct cstring_t* url, const struct cstring_t *received, int rport, const void* data, int bytes);
int (*send)(void* param, const struct cstring_t* protocol, const struct cstring_t* url, const struct cstring_t *received, int rport, const void* data, int bytes);

/// @param[in] expires in seconds
int(*onregister)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, const char* user, const char* location, int expires);
int (*onregister)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, const char* user, const char* location, int expires);

/// @param[in] dialog nil-new invite, not nil-reinvite
/// @return user-defined session-id(valid only code=2xx)
Expand All @@ -36,28 +36,26 @@ struct sip_uas_handler_t
/// @param[in] session oninvite return value
int (*onprack)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, void* session, struct sip_dialog_t* dialog, const void* data, int bytes);
int (*onupdate)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, void* session, struct sip_dialog_t* dialog, const void* data, int bytes);

int (*oninfo)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, void* session, struct sip_dialog_t* dialog, const struct cstring_t* package, const void* data, int bytes);
/// on terminating a session(dialog)
int (*onbye)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, void* session);

/// cancel a transaction(should be an invite transaction)
int(*oncancel)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, void* session);
int (*oncancel)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, void* session);

void* (*onsubscribe)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, struct sip_subscribe_t* subscribe);
int (*onnotify)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, void* session, const struct cstring_t* event);
int (*onpublish)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, const struct cstring_t* event);

int (*oninfo)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, void* session);
int (*onmessage)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, void* session, const void* data, int bytes);

int (*onrefer)(void* param, const struct sip_message_t* req, struct sip_uas_transaction_t* t, void* session);
};

struct sip_agent_t* sip_agent_create(struct sip_uas_handler_t* handler, void* param);
struct sip_agent_t* sip_agent_create(struct sip_uas_handler_t* handler);
int sip_agent_destroy(struct sip_agent_t* sip);

/// @param[in] msg sip request/response message
int sip_agent_input(struct sip_agent_t* sip, struct sip_message_t* msg);
/// @param[in] param user-defined parameter, for sip_uas_handler_t only
int sip_agent_input(struct sip_agent_t* sip, struct sip_message_t* msg, void* param);

int sip_agent_set_rport(struct sip_message_t* msg, const char* peer, int port);

Expand Down
2 changes: 1 addition & 1 deletion libsip/include/sip-message.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ extern "C" {
#define SIP_METHOD_PRACK "PRACK" // rfc3262
#define SIP_METHOD_INFO "INFO" // rfc2976/rfc6086
#define SIP_METHOD_REFER "REFER" // rfc3515
#define SIP_METHOD_MESSAGE "MESSAGE" // rfc3248
#define SIP_METHOD_MESSAGE "MESSAGE" // rfc3428
#define SIP_METHOD_SUBSCRIBE "SUBSCRIBE" // rfc4660/rfc6665
#define SIP_METHOD_NOTIFY "NOTIFY" // rfc4660/rfc6665
#define SIP_METHOD_PUBLISH "PUBLISH" // rfc3903
Expand Down
7 changes: 4 additions & 3 deletions libsip/include/sip-uac.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,16 @@ typedef int (*sip_uac_onreply)(void* param, const struct sip_message_t* reply, s
/// @param[in] seconds expires seconds
struct sip_uac_transaction_t* sip_uac_register(struct sip_agent_t* sip, const char* name, const char* registrar, int seconds, sip_uac_onreply onregister, void* param);
struct sip_uac_transaction_t* sip_uac_options(struct sip_agent_t* sip, const char* from, const char* to, sip_uac_onreply onoptins, void* param);

struct sip_uac_transaction_t* sip_uac_invite(struct sip_agent_t* sip, const char* name, const char* to, sip_uac_oninvite oninvite, void* param);
struct sip_uac_transaction_t* sip_uac_cancel(struct sip_agent_t* sip, struct sip_uac_transaction_t* invit, sip_uac_onreply oncancel, void* param);
struct sip_uac_transaction_t* sip_uac_bye(struct sip_agent_t* sip, struct sip_dialog_t* dialog, sip_uac_onreply onbye, void* param);
struct sip_uac_transaction_t* sip_uac_reinvite(struct sip_agent_t* sip, struct sip_dialog_t* dialog, sip_uac_oninvite oninvite, void* param);
/// @param[in] req100rel sip 180/183 response with Require: 100rel
struct sip_uac_transaction_t* sip_uac_prack(struct sip_agent_t* sip, const struct sip_message_t* req100rel, struct sip_dialog_t* dialog, sip_uac_onreply onreply, void* param);
struct sip_uac_transaction_t* sip_uac_update(struct sip_agent_t* sip, struct sip_dialog_t* dialog, sip_uac_onreply onreply, void* param);
/// @param[in] dialog exist dialog(by invite), if dialog is not null, ignore from/to parameter
struct sip_uac_transaction_t* sip_uac_info(struct sip_agent_t* sip, struct sip_dialog_t* dialog, const char* package, sip_uac_onreply oninfo, void* param);


/// @param[in] from valid only dialog is null
Expand All @@ -44,10 +47,8 @@ struct sip_uac_transaction_t* sip_uac_notify(struct sip_agent_t* sip, struct sip
struct sip_uac_transaction_t* sip_uac_resubscribe(struct sip_agent_t* sip, struct sip_subscribe_t* subscribe, int expires, sip_uac_onsubscribe onsubscribe, void* param);
struct sip_uac_transaction_t* sip_uac_publish(struct sip_agent_t* sip, const char* from, const char* to, const char* event, sip_uac_onreply onreply, void* param);

/// @param[in] dialog exist dialog(by invite), if dialog is not null, ignore from/to parameter
struct sip_uac_transaction_t* sip_uac_info(struct sip_agent_t* sip, struct sip_dialog_t* dialog, const char* package, sip_uac_onreply oninfo, void* param);
struct sip_uac_transaction_t* sip_uac_message(struct sip_agent_t* sip, const char* from, const char* to, sip_uac_onreply onmsg, void* param);
struct sip_uac_transaction_t* sip_uac_refer(struct sip_agent_t* sip, const char* from, const char* to, sip_uac_onreply onreply, void* param);
struct sip_uac_transaction_t* sip_uac_message(struct sip_agent_t* sip, const char* from, const char* to, sip_uac_onreply onmsg, void* param);

int sip_uac_transaction_ondestroy(struct sip_uac_transaction_t* t, sip_transaction_ondestroy ondestroy, void* param);
int sip_uac_add_header(struct sip_uac_transaction_t* t, const char* name, const char* value);
Expand Down
Loading

0 comments on commit 75ea697

Please sign in to comment.