2019-07-25 18:51:17 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <osmocom/core/linuxlist.h>
|
|
|
|
#include <osmocom/gsm/gsup.h>
|
|
|
|
|
|
|
|
#include "gsup_server.h"
|
|
|
|
|
|
|
|
enum hlr_sms_route_type {
|
|
|
|
HLR_SMS_RT_SMSC_ADDR,
|
|
|
|
HLR_SMS_RT_SENDER_MSISDN,
|
|
|
|
HLR_SMS_RT_SENDER_IMSI,
|
|
|
|
};
|
|
|
|
|
|
|
|
struct hlr_sms_route {
|
|
|
|
struct llist_head list;
|
|
|
|
enum hlr_sms_route_type type;
|
|
|
|
char *match_pattern;
|
|
|
|
const struct hlr_euse *euse;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct hlr_sms_route *sms_route_find(struct hlr *hlr,
|
|
|
|
enum hlr_sms_route_type type,
|
|
|
|
const char *pattern);
|
|
|
|
struct hlr_sms_route *sms_route_alloc(struct hlr *hlr,
|
|
|
|
enum hlr_sms_route_type type,
|
|
|
|
const char *pattern,
|
|
|
|
const struct hlr_euse *euse);
|
|
|
|
void sms_route_del(struct hlr_sms_route *rt);
|
2019-07-26 10:15:10 +00:00
|
|
|
|
|
|
|
int forward_mo_sms(struct osmo_gsup_conn *conn,
|
|
|
|
const struct osmo_gsup_message *gsup,
|
|
|
|
struct msgb *msg);
|
|
|
|
int forward_sm_res_or_err(struct osmo_gsup_conn *conn,
|
|
|
|
const struct osmo_gsup_message *gsup,
|
|
|
|
struct msgb *msg);
|
|
|
|
int forward_mt_sms(struct osmo_gsup_conn *conn,
|
|
|
|
const struct osmo_gsup_message *gsup,
|
|
|
|
struct msgb *msg);
|