gsm29118.h File Reference
`#include <osmocom/core/msgb.h>`
`#include <osmocom/gsm/gsm23003.h>`
`#include <osmocom/gsm/protocol/gsm_29_118.h>`
`#include <osmocom/gsm/protocol/gsm_04_08.h>`

Go to the source code of this file.

## Data Structures

struct | gsm29118_paging_req
| 3GPP TS 3GPP TS 29.018 8.14 SGsAP-PAGING-REQUEST. More...
struct | gsm29118_reset_msg
| 3GPP TS 3GPP TS 29.018 8.15 SGsAP-RESET-ACK and 8.16 SGsAP-RESET-INDICATION. More...

## Functions

struct msgb * | gsm29118_msgb_alloc (void)
struct msgb * | gsm29118_create_alert_req (const char *imsi)
struct msgb * | gsm29118_create_dl_ud (const char *imsi, struct msgb *nas_msg)
struct msgb * | gsm29118_create_eps_det_ack (const char *imsi)
struct msgb * | gsm29118_create_imsi_det_ack (const char *imsi)
struct msgb * | gsm29118_create_lu_ack (const char *imsi, const struct osmo_location_area_id *lai, const uint8_t *new_id, unsigned int new_id_len)
| 8.9 SGsAP-LOCATION-UPDATE-ACCEPT. More...
struct msgb * | gsm29118_create_lu_rej (const char *imsi, uint8_t rej_cause, const struct osmo_location_area_id *lai)
struct msgb * | gsm29118_create_mm_info_req (const char *imsi, const uint8_t *mm_info, uint8_t mm_info_len)
struct msgb * | gsm29118_create_paging_req (struct gsm29118_paging_req *params)
struct msgb * | gsm29118_create_reset_ack (struct gsm29118_reset_msg *params)
struct msgb * | gsm29118_create_reset_ind (struct gsm29118_reset_msg *params)
struct msgb * | gsm29118_create_status (const char *imsi, enum sgsap_sgs_cause cause, const struct msgb *err_msg)
struct msgb * | gsm29118_create_release_req (const char *imsi, const uint8_t sgs_cause)
struct msgb * | gsm29118_create_service_abort_req (const char *imsi)

## Function Documentation

## gsm29118_create_alert_req()

struct msgb* gsm29118_create_alert_req | ( | const char * | imsi | ) |

References create_simple_msg(), and SGSAP_MSGT_ALERT_REQ.

## gsm29118_create_dl_ud()

struct msgb* gsm29118_create_dl_ud | ( | const char * | imsi,
|  | struct msgb * | nas_msg
| ) |  |

References msgb::data, gsm29118_msgb_alloc(), msgb::len, msg, msgb_push_u8(), msgb_sgsap_imsi_put(), msgb_tlv_put(), SGSAP_IE_NAS_MSG_CONTAINER, and SGSAP_MSGT_DL_UD.

## gsm29118_create_eps_det_ack()

struct msgb* gsm29118_create_eps_det_ack | ( | const char * | imsi | ) |

References create_simple_msg(), and SGSAP_MSGT_EPS_DET_ACK.

## gsm29118_create_imsi_det_ack()

struct msgb* gsm29118_create_imsi_det_ack | ( | const char * | imsi | ) |

References create_simple_msg(), and SGSAP_MSGT_IMSI_DET_ACK.

## gsm29118_create_lu_ack()

struct msgb* gsm29118_create_lu_ack | ( | const char * | imsi,
|  | const struct osmo_location_area_id * | lai,
|  | const uint8_t * | new_id,
|  | unsigned int | new_id_len
| ) |  |

8.9 SGsAP-LOCATION-UPDATE-ACCEPT.

Parameters

  [in] | imsi | IMSI of the subscriber.
  [in] | lai | Location Area Identity (optional, may be NULL).
  [in] | new_id | value part of new Mobile Identity (optional, may be NULL).
  [in] | new_id_len | length of new_id in octets.

Returns
  callee-allocated msgb with the encoded message

References gsm29118_msgb_alloc(), lai, msg, msgb_push_u8(), msgb_sgsap_imsi_put(), msgb_sgsap_lai_put(), msgb_tlv_put(), SGSAP_IE_MOBILE_ID, and SGSAP_MSGT_LOC_UPD_ACK.

## gsm29118_create_lu_rej()

struct msgb* gsm29118_create_lu_rej | ( | const char * | imsi,
|  | uint8_t | rej_cause,
|  | const struct osmo_location_area_id * | lai
| ) |  |

References gsm29118_msgb_alloc(), lai, msg, msgb_push_u8(), msgb_sgsap_imsi_put(), msgb_sgsap_lai_put(), msgb_tlv_put(), SGSAP_IE_REJECT_CAUSE, and SGSAP_MSGT_LOC_UPD_REJ.

## gsm29118_create_mm_info_req()

struct msgb* gsm29118_create_mm_info_req | ( | const char * | imsi,
|  | const uint8_t * | mm_info,
|  | uint8_t | mm_info_len
| ) |  |

References gsm29118_msgb_alloc(), msg, msgb_push_u8(), msgb_sgsap_imsi_put(), msgb_tlv_put(), SGSAP_IE_MM_INFO, and SGSAP_MSGT_MM_INFO_REQ.

## gsm29118_create_paging_req()

struct msgb* gsm29118_create_paging_req | ( | struct gsm29118_paging_req * | params | ) |

References gsm29118_msgb_alloc(), msg, msgb_free(), msgb_push_u8(), msgb_sgsap_imsi_put(), msgb_sgsap_lai_put(), msgb_sgsap_name_put(), msgb_tlv_put(), params, SGSAP_IE_SERVICE_INDICATOR, SGSAP_IE_VLR_NAME, and SGSAP_MSGT_PAGING_REQ.

## gsm29118_create_release_req()

struct msgb* gsm29118_create_release_req | ( | const char * | imsi,
|  | const uint8_t | sgs_cause
| ) |  |

References gsm29118_msgb_alloc(), msg, msgb_push_u8(), msgb_sgsap_imsi_put(), msgb_tlv_put(), SGSAP_IE_SGS_CAUSE, and SGSAP_MSGT_RELEASE_REQ.

## gsm29118_create_reset_ack()

struct msgb* gsm29118_create_reset_ack | ( | struct gsm29118_reset_msg * | params | ) |

References gsm29118_msgb_alloc(), msg, msgb_free(), msgb_push_u8(), msgb_sgsap_name_put(), params, SGSAP_IE_MME_NAME, SGSAP_IE_VLR_NAME, and SGSAP_MSGT_RESET_ACK.

## gsm29118_create_reset_ind()

struct msgb* gsm29118_create_reset_ind | ( | struct gsm29118_reset_msg * | params | ) |

References gsm29118_msgb_alloc(), msg, msgb_free(), msgb_push_u8(), msgb_sgsap_name_put(), params, SGSAP_IE_MME_NAME, SGSAP_IE_VLR_NAME, and SGSAP_MSGT_RESET_IND.

## gsm29118_create_service_abort_req()

struct msgb* gsm29118_create_service_abort_req | ( | const char * | imsi | ) |

References create_simple_msg(), and SGSAP_MSGT_SERVICE_ABORT_REQ.

## gsm29118_create_status()

struct msgb* gsm29118_create_status | ( | const char * | imsi,
|  | enum sgsap_sgs_cause | cause,
|  | const struct msgb * | err_msg
| ) |  |

References cause, gsm29118_msgb_alloc(), msg, msgb_l2, msgb_l2len(), msgb_push_u8(), msgb_sgsap_imsi_put(), msgb_tlv_put(), SGSAP_IE_ERR_MSG, SGSAP_IE_SGS_CAUSE, and SGSAP_MSGT_STATUS.

## gsm29118_msgb_alloc()

struct msgb* gsm29118_msgb_alloc | ( | void |  | ) |

References msgb_alloc_headroom().

Referenced by create_simple_msg(), gsm29118_create_dl_ud(), gsm29118_create_lu_ack(), gsm29118_create_lu_rej(), gsm29118_create_mm_info_req(), gsm29118_create_paging_req(), gsm29118_create_release_req(), gsm29118_create_reset_ack(), gsm29118_create_reset_ind(), and gsm29118_create_status().