Kannel: Open Source WAP and SMS gateway
svn-r5336
|
Go to the source code of this file.
Data Structures | |
struct | SMSCenter |
Macros | |
#define | DIAL_PREFIX_MAX_LEN 1024 |
Enumerations | |
enum | { SMSC_TYPE_DELETED, SMSC_TYPE_CIMD, SMSC_TYPE_EMI_X25, SMSC_TYPE_SEMA_X28, SMSC_TYPE_OIS } |
anonymous enum |
Enumerator | |
---|---|
SMSC_TYPE_DELETED | |
SMSC_TYPE_CIMD | |
SMSC_TYPE_EMI_X25 | |
SMSC_TYPE_SEMA_X28 | |
SMSC_TYPE_OIS |
Definition at line 79 of file smsc_p.h.
int cimd_close | ( | SMSCenter * | smsc | ) |
Definition at line 228 of file smsc_cimd.c.
References debug(), error(), SMSCenter::socket, and write_to_socket().
Referenced by cimd_open_connection(), cimd_reopen(), and smsc_close().
SMSCenter* cimd_open | ( | char * | hostname, |
int | port, | ||
char * | username, | ||
char * | password | ||
) |
Definition at line 174 of file smsc_cimd.c.
References SMSCenter::cimd_hostname, cimd_open_connection(), SMSCenter::cimd_password, SMSCenter::cimd_port, SMSCenter::cimd_username, error(), SMSCenter::hostname, hostname, SMSCenter::name, password, port, SMSC_TYPE_CIMD, smscenter_construct(), smscenter_destruct(), SMSCenter::type, and username.
Referenced by smsc_open().
int cimd_pending_smsmessage | ( | SMSCenter * | smsc | ) |
Definition at line 264 of file smsc_cimd.c.
References SMSCenter::buffer, SMSCenter::buflen, SMSCenter::cimd_last_spoke, connect_tcpip(), debug(), error(), smscenter_read_into_buffer(), smscenter_remove_from_buffer(), SMSCenter::socket, and write_to_socket().
Referenced by smscenter_pending_smsmessage().
Definition at line 470 of file smsc_cimd.c.
References SMSCenter::buffer, SMSCenter::buflen, SMSCenter::cimd_last_spoke, debug(), error(), msg, msg_create, octstr_create, parse_cimd_to_iso88591(), send_acknowledge(), smscenter_remove_from_buffer(), and text.
Referenced by smscenter_receive_msg().
int cimd_reopen | ( | SMSCenter * | smsc | ) |
Definition at line 210 of file smsc_cimd.c.
References cimd_close(), cimd_open_connection(), and error().
Referenced by smsc_reopen().
Definition at line 358 of file smsc_cimd.c.
References SMSCenter::alt_charset, SMSCenter::buffer, debug(), error(), expect_acknowledge(), msg, octstr_append_from_hex(), octstr_create, octstr_get_cstr, octstr_get_many_chars(), octstr_len(), parse_iso88591_to_cimd(), send_acknowledge(), SMSCenter::socket, warning(), and write_to_socket().
Referenced by smscenter_submit_msg().
int emi_close | ( | SMSCenter * | smsc | ) |
Definition at line 194 of file smsc_emi_x25.c.
References emi_close_ip().
Referenced by emi_reopen(), and smsc_close().
int emi_close_ip | ( | SMSCenter * | smsc | ) |
Definition at line 302 of file smsc_emi_x25.c.
References SMSCenter::emi_fd, and info().
Referenced by emi_close(), and emi_reopen_ip().
SMSCenter* emi_open | ( | char * | phonenum, |
char * | serialdevice, | ||
char * | username, | ||
char * | password | ||
) |
Definition at line 153 of file smsc_emi_x25.c.
References SMSCenter::emi_current_msg_number, emi_open_connection(), SMSCenter::emi_password, SMSCenter::emi_phonenum, SMSCenter::emi_serialdevice, SMSCenter::emi_username, error(), SMSCenter::name, password, SMSC_TYPE_EMI_X25, smscenter_construct(), smscenter_destruct(), SMSCenter::type, and username.
Referenced by smsc_open().
SMSCenter* emi_open_ip | ( | char * | hostname, |
int | port, | ||
char * | username, | ||
char * | password, | ||
int | receive_port, | ||
char * | allow_ip, | ||
int | our_port | ||
) |
int emi_pending_smsmessage | ( | SMSCenter * | smsc | ) |
Definition at line 319 of file smsc_emi_x25.c.
References get_data(), guarantee_link(), memorybuffer_cut_rawmessage(), memorybuffer_has_rawmessage(), and memorybuffer_insert_data().
Referenced by smscenter_pending_smsmessage().
Definition at line 408 of file smsc_emi_x25.c.
References acknowledge_from_rawmessage(), error(), memorybuffer_cut_rawmessage(), msg, msg_destroy(), and parse_rawmessage_to_msg().
Referenced by smscenter_receive_msg().
int emi_reopen | ( | SMSCenter * | smsc | ) |
Definition at line 183 of file smsc_emi_x25.c.
References emi_close(), emi_open_connection(), and error().
Referenced by smsc_reopen().
int emi_reopen_ip | ( | SMSCenter * | smsc | ) |
Definition at line 294 of file smsc_emi_x25.c.
References emi_close_ip(), and emi_open_connection_ip().
Definition at line 372 of file smsc_emi_x25.c.
References debug(), error(), info(), parse_msg_to_rawmessage(), put_data(), and wait_for_ack().
Referenced by smscenter_submit_msg().
int ois_close | ( | SMSCenter * | smsc | ) |
Definition at line 263 of file smsc_ois.c.
References SMSCenter::buflen, ois_debug_level, ois_disconnect_all(), OIS_FLAG_DEBUG, SMSCenter::ois_flags, ois_swap_buffering(), SAY, SMSC_TYPE_OIS, smscenter_remove_from_buffer(), SMSCenter::type, and warning().
Referenced by ois_open_listener(), ois_reopen(), and smsc_close().
void ois_delete_queue | ( | SMSCenter * | smsc | ) |
Definition at line 423 of file smsc_ois.c.
References msg, ois_debug_level, OIS_FLAG_DEBUG, SMSCenter::ois_flags, ois_receive_msg(), and SAY.
Referenced by smscenter_destruct().
SMSCenter* ois_open | ( | int | receiveport, |
const char * | hostname, | ||
int | port, | ||
int | debug_level | ||
) |
Definition at line 222 of file smsc_ois.c.
References error(), SMSCenter::hostname, hostname, SMSCenter::name, ois_debug_level, OIS_FLAG_DEBUG, SMSCenter::ois_flags, ois_open_listener(), port, SMSCenter::port, SMSCenter::receive_port, SAY, SMSC_TYPE_OIS, smscenter_construct(), smscenter_destruct(), and SMSCenter::type.
Referenced by smsc_open().
int ois_pending_smsmessage | ( | SMSCenter * | smsc | ) |
Definition at line 318 of file smsc_ois.c.
References SMSCenter::ois_ack_debt, ois_check_incoming(), ois_check_input(), ois_debug_level, OIS_FLAG_DEBUG, SMSCenter::ois_flags, OIS_NOWAIT, SMSCenter::ois_socket, ois_swap_buffering(), SAY, SMSCenter::socket, and warning().
Referenced by smscenter_pending_smsmessage().
Definition at line 396 of file smsc_ois.c.
References msg, ois_listentry::msg, ois_listentry::next, ois_debug_level, OIS_FLAG_DEBUG, OIS_FLAG_ERROR, SMSCenter::ois_flags, SMSCenter::ois_received_mo, and SAY.
Referenced by ois_delete_queue(), and smscenter_receive_msg().
int ois_reopen | ( | SMSCenter * | smsc | ) |
Definition at line 287 of file smsc_ois.c.
References error(), ois_close(), ois_debug_level, OIS_FLAG_DEBUG, SMSCenter::ois_flags, ois_open_listener(), SAY, SMSC_TYPE_OIS, and SMSCenter::type.
Referenced by smsc_reopen().
Definition at line 346 of file smsc_ois.c.
References error(), msg, SMSCenter::ois_ack_debt, SMSCenter::ois_alive, ois_debug_level, ois_disconnect(), OIS_FLAG_DEBUG, SMSCenter::ois_flags, ois_open_sender(), ois_submit_sm_invoke(), ois_swap_buffering(), SAY, SMSCenter::socket, and warning().
Referenced by smscenter_submit_msg().
int sema_close | ( | SMSCenter * | smsc | ) |
Definition at line 199 of file smsc_sema.c.
References SMSCenter::sema_fd, SMSCenter::sema_mo, sema_msglist_free(), and SMSCenter::sema_mt.
Referenced by smsc_close().
SMSCenter* sema_open | ( | char * | smscnua, |
char * | homenua, | ||
char * | serialdevice, | ||
int | waitreport | ||
) |
Definition at line 113 of file smsc_sema.c.
References debug(), error(), SMSCenter::name, SMSCenter::sema_fd, SMSCenter::sema_homenua, SMSCenter::sema_mo, sema_msglist_new(), SMSCenter::sema_mt, SMSCenter::sema_serialdevice, SMSCenter::sema_smscnua, sema_wait_report, SMSC_TYPE_SEMA_X28, smscenter_construct(), smscenter_destruct(), SMSCenter::type, X28_close_send_link(), X28_open_data_link(), and X28_open_send_link().
Referenced by smsc_open().
int sema_pending_smsmessage | ( | SMSCenter * | smsc | ) |
Definition at line 365 of file smsc_sema.c.
References SMSCenter::buffer, debug(), error(), sema_msglist::first, SMSCenter::sema_fd, SMSCenter::sema_mo, sema_msg_session_mo(), SMSCenter::sema_serialdevice, X28_data_read(), X28_msg_pop(), and X28_reopen_data_link().
Referenced by smscenter_pending_smsmessage().
Definition at line 323 of file smsc_sema.c.
References DC_8BIT, sm_deliver_invoke::destadd, error(), msg, msg_create, sema_msg::msgbody, octstr_create, octstr_create_from_data, octstr_duplicate, octstr_get_cstr, octstr_len(), sm_deliver_invoke::origadd, SMSCenter::sema_mo, sema_msg_free(), sema_msglist_pop(), and sm_deliver_invoke::shortmsg.
Referenced by smscenter_receive_msg().
int sema_reopen | ( | SMSCenter * | smsc | ) |
Definition at line 162 of file smsc_sema.c.
References SMSCenter::buffer, debug(), error(), SMSCenter::sema_fd, SMSCenter::sema_mo, sema_msglist_free(), sema_msglist_new(), SMSCenter::sema_mt, SMSCenter::sema_serialdevice, SMSCenter::sema_smscnua, X28_close_send_link(), X28_open_send_link(), and X28_reopen_data_link().
Referenced by smsc_reopen().
Definition at line 210 of file smsc_sema.c.
References sm_submit_invoke::DCS, debug(), sema_msg::encodetype, error(), increment_counter(), info(), LINE_ENCODE_IA5, msg, sema_msg::msgbody, sm_submit_invoke::msisdn, sm_submit_invoke::msisdnlen, octstr_copy, octstr_create_from_data, octstr_len(), sema_msg::optref, sm_submit_invoke::origadd, sm_submit_invoke::origaddlen, sm_submit_invoke::priority, sm_submit_invoke::protocal, sm_submit_invoke::replypath, sema_counter, sema_msg_free(), sema_msg_new(), sema_msg_session_mt(), sema_wait_report, SESSION_MT_RECEIVE_ERR, SESSION_MT_RECEIVE_SUCCESS, SESSION_MT_RECEIVE_TIMEOUT, sm_submit_invoke::shortmsg, sm_submit_invoke::smerefnum, sm_submit_invoke::smereftype, sm_submit_invoke::smscrefnum, sm_submit_invoke::statusreportrequest, sm_submit_invoke::textsizeoctect, sm_submit_invoke::textsizeseptet, sema_msg::type, sm_submit_invoke::validperiodrela, and sm_submit_invoke::validperiodtype.
Referenced by smscenter_submit_msg().
SMSCenter* smscenter_construct | ( | void | ) |
Definition at line 101 of file smsc.c.
References SMSCenter::allowed_prefix, SMSCenter::alt_charset, SMSCenter::buffer, SMSCenter::buflen, SMSCenter::bufsize, SMSCenter::cimd_hostname, SMSCenter::cimd_password, SMSCenter::cimd_port, SMSCenter::cimd_username, SMSCenter::denied_prefix, SMSCenter::emi_password, SMSCenter::emi_phonenum, SMSCenter::emi_serialdevice, SMSCenter::emi_username, SMSCenter::hostname, SMSCenter::id, SMSCenter::keepalive, SMSCenter::killed, SMSCenter::mutex, mutex_create, SMSCenter::name, SMSCenter::ois_ack_debt, SMSCenter::ois_alive, SMSCenter::ois_alive2, SMSCenter::ois_buffer, SMSCenter::ois_buflen, SMSCenter::ois_bufsize, SMSCenter::ois_flags, SMSCenter::ois_listening_socket, SMSCenter::ois_received_mo, SMSCenter::ois_socket, SMSCenter::port, SMSCenter::preferred_prefix, SMSCenter::sema_fd, SMSCenter::sema_homenua, SMSCenter::sema_serialdevice, SMSCenter::sema_smscnua, SMSC_TYPE_DELETED, SMSCenter::socket, and SMSCenter::type.
Referenced by cimd_open(), emi_open(), ois_open(), and sema_open().
void smscenter_destruct | ( | SMSCenter * | smsc | ) |
Definition at line 168 of file smsc.c.
References SMSCenter::buffer, SMSCenter::cimd_hostname, SMSCenter::cimd_password, SMSCenter::cimd_username, SMSCenter::emi_password, SMSCenter::emi_phonenum, SMSCenter::emi_serialdevice, SMSCenter::emi_username, SMSCenter::hostname, SMSCenter::mutex, mutex_destroy(), SMSCenter::ois_buffer, ois_delete_queue(), SMSCenter::sema_homenua, SMSCenter::sema_serialdevice, and SMSCenter::sema_smscnua.
Referenced by cimd_open(), emi_open(), ois_open(), and sema_open().
int smscenter_pending_smsmessage | ( | SMSCenter * | smsc | ) |
Definition at line 302 of file smsc.c.
References cimd_pending_smsmessage(), emi_pending_smsmessage(), error(), ois_pending_smsmessage(), sema_pending_smsmessage(), SMSC_TYPE_CIMD, SMSC_TYPE_EMI_X25, SMSC_TYPE_OIS, SMSC_TYPE_SEMA_X28, smscenter_lock(), smscenter_unlock(), and SMSCenter::type.
Referenced by sms_receive().
int smscenter_read_into_buffer | ( | SMSCenter * | ) |
Definition at line 348 of file smsc.c.
References SMSCenter::buffer, SMSCenter::buflen, SMSCenter::bufsize, error(), SMSCenter::hostname, MAX_READ_INTO_BUFFER, SMSCenter::port, and SMSCenter::socket.
Referenced by cimd_open_connection(), cimd_pending_smsmessage(), connect_tcpip(), expect_acknowledge(), and ois_read_into_buffer().
Definition at line 251 of file smsc.c.
References cimd_receive_msg(), emi_receive_msg(), error(), msg, ois_receive_msg(), sema_receive_msg(), SMSC_TYPE_CIMD, SMSC_TYPE_EMI_X25, SMSC_TYPE_OIS, SMSC_TYPE_SEMA_X28, smscenter_lock(), smscenter_unlock(), and SMSCenter::type.
Referenced by sms_receive().
void smscenter_remove_from_buffer | ( | SMSCenter * | smsc, |
size_t | n | ||
) |
Definition at line 412 of file smsc.c.
References SMSCenter::buffer, and SMSCenter::buflen.
Referenced by cimd_open_connection(), cimd_pending_smsmessage(), cimd_receive_msg(), connect_tcpip(), expect_acknowledge(), ois_close(), ois_extract_line_from_buffer(), and ois_extract_msg_from_buffer().
Definition at line 209 of file smsc.c.
References cimd_submit_msg(), emi_submit_msg(), error(), msg, ois_submit_msg(), sema_submit_msg(), SMSC_TYPE_CIMD, SMSC_TYPE_EMI_X25, SMSC_TYPE_OIS, SMSC_TYPE_SEMA_X28, smscenter_lock(), smscenter_unlock(), and SMSCenter::type.
Referenced by sms_send().