libmsc/gsm_04_80.c: use gsm0480_create_release_complete()
The previous implementation of msc_send_ussd_release_complete() was based on gsm0480_create_ussd_release_complete(), that doesn't allow to specify GSM 04.07 transaction identifier. The ability to specify particular transaction identifier is required for handling multiple SS/USSD transactions. Change-Id: Id2975c3383f18e83124ba38927c03980d67ddadb Depends Change-Id: (libosmocore) Ie3ac85fcef90a5e532334ba3482804d5305c88d7
This commit is contained in:
parent
896950ab82
commit
f20c6b7bd5
|
@ -10,4 +10,5 @@ int msc_send_ussd_reject(struct ran_conn *conn,
|
||||||
|
|
||||||
int msc_send_ussd_notify(struct ran_conn *conn, int level,
|
int msc_send_ussd_notify(struct ran_conn *conn, int level,
|
||||||
const char *text);
|
const char *text);
|
||||||
int msc_send_ussd_release_complete(struct ran_conn *conn);
|
int msc_send_ussd_release_complete(struct ran_conn *conn,
|
||||||
|
uint8_t transaction_id);
|
||||||
|
|
|
@ -78,9 +78,10 @@ int msc_send_ussd_notify(struct ran_conn *conn, int level, const char *text)
|
||||||
return msc_tx_dtap(conn, msg);
|
return msc_tx_dtap(conn, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
int msc_send_ussd_release_complete(struct ran_conn *conn)
|
int msc_send_ussd_release_complete(struct ran_conn *conn,
|
||||||
|
uint8_t transaction_id)
|
||||||
{
|
{
|
||||||
struct msgb *msg = gsm0480_create_ussd_release_complete();
|
struct msgb *msg = gsm0480_create_release_complete(transaction_id);
|
||||||
if (!msg)
|
if (!msg)
|
||||||
return -1;
|
return -1;
|
||||||
return msc_tx_dtap(conn, msg);
|
return msc_tx_dtap(conn, msg);
|
||||||
|
|
|
@ -1149,7 +1149,9 @@ DEFUN(subscriber_ussd_notify,
|
||||||
}
|
}
|
||||||
|
|
||||||
msc_send_ussd_notify(conn, level, text);
|
msc_send_ussd_notify(conn, level, text);
|
||||||
msc_send_ussd_release_complete(conn);
|
/* FIXME: since we don't allocate a transaction here,
|
||||||
|
* we use dummy GSM 04.07 transaction ID. */
|
||||||
|
msc_send_ussd_release_complete(conn, 0x00);
|
||||||
|
|
||||||
vlr_subscr_put(vsub);
|
vlr_subscr_put(vsub);
|
||||||
talloc_free(text);
|
talloc_free(text);
|
||||||
|
|
Loading…
Reference in New Issue