blob: 810bee57bec0204daedef50d31e1bb94733c84e6 [file] [log] [blame]
Harald Weltec4338de2015-12-24 00:40:52 +01001#pragma once
2
3#include <stdint.h>
4#include "ranap/RANAP_Cause.h"
5#include "ranap/RANAP_CN-DomainIndicator.h"
6#include "ranap/RANAP_GlobalRNC-ID.h"
Harald Weltef8db61b2015-12-18 17:29:59 +01007
8/*! \brief generate RANAP DIRECT TRANSFER message */
9struct msgb *ranap_new_msg_dt(uint8_t sapi, const uint8_t *nas, unsigned int nas_len);
10
11/*! \brief generate RANAP SECURITY MODE COMMAND message */
12struct msgb *ranap_new_msg_sec_mod_cmd(const uint8_t *ik, const uint8_t *ck);
13
14/*! \brief generate RANAP COMMON ID message */
15struct msgb *ranap_new_msg_common_id(const char *imsi);
16
17/*! \brief generate RANAP IU RELEASE COMMAND message */
18struct msgb *ranap_new_msg_iu_rel_cmd(const RANAP_Cause_t *cause_in);
19
20/*! \brief generate RANAP PAGING COMMAND message */
21struct msgb *ranap_new_msg_paging_cmd(const char *imsi, const uint32_t *tmsi, int is_ps, uint32_t cause);
22
23/*! \brief generate RANAP RAB ASSIGNMENT REQUEST message for CS (voice) */
24struct msgb *ranap_new_msg_rab_assign_voice(uint8_t rab_id, uint32_t rtp_ip, uint16_t rtp_port);
25
26/*! \brief generate RANAP RAB ASSIGNMENT REQUEST message for PS (data) */
27struct msgb *ranap_new_msg_rab_assign_data(uint8_t rab_id, uint32_t gtp_ip, uint32_t gtp_tei);
Harald Weltec4338de2015-12-24 00:40:52 +010028
29/*! \brief generate RANAP RESET message */
30struct msgb *ranap_new_msg_reset(RANAP_CN_DomainIndicator_t domain,
31 RANAP_Cause_t *cause);
32
33/*! \brief generate RANAP RESET ACK message */
34struct msgb *ranap_new_msg_reset_ack(RANAP_CN_DomainIndicator_t domain,
35 RANAP_GlobalRNC_ID_t *rnc_id);
Harald Welteea98b6f2015-12-24 15:09:06 +010036
37
38/*! \brief generate RANAP INITIAL UE message */
39struct msgb *ranap_new_msg_initial_ue(uint32_t conn_id, int is_ps,
40 RANAP_GlobalRNC_ID_t *rnc_id,
41 uint8_t *nas_pdu, unsigned int nas_len);
Harald Welte37223d82016-01-01 16:18:55 +010042
43/*! \brief generate RANAP IU RELEASE REQUEST message */
44struct msgb *ranap_new_msg_iu_rel_req(const RANAP_Cause_t *cause);
45
46/*! \brief generate RANAP RAB RELEASE REQUEST message */
47struct msgb *ranap_new_msg_rab_rel_req(uint8_t rab_id, const RANAP_Cause_t *cause);