[PATCH] bsc/ussd: Send faked CM Service Accept before sending USSD

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Holger Hans Peter Freyther holger at freyther.de
Thu Oct 31 12:38:55 UTC 2013


On Thu, Oct 31, 2013 at 10:47:02AM +0100, Jacob Erlbeck wrote:

haha, you got me. I have pushed and reverted your patch.


> --- a/openbsc/src/libmsc/gsm_04_08.c
> +++ b/openbsc/src/libmsc/gsm_04_08.c
> @@ -804,14 +804,14 @@ int gsm48_tx_mm_auth_rej(struct gsm_subscriber_connection *conn)
>  	return gsm48_tx_simple(conn, GSM48_PDISC_MM, GSM48_MT_MM_AUTH_REJ);
>  }
>  
> -static int gsm48_tx_mm_serv_ack(struct gsm_subscriber_connection *conn)
> +int gsm48_tx_mm_serv_ack(struct gsm_subscriber_connection *conn)
>  {
>  	DEBUGP(DMM, "-> CM SERVICE ACK\n");
>  	return gsm48_tx_simple(conn, GSM48_PDISC_MM, GSM48_MT_MM_CM_SERV_ACC);
>  }
>  
>  /* 9.2.6 CM service reject */
> -static int gsm48_tx_mm_serv_rej(struct gsm_subscriber_connection *conn,
> +int gsm48_tx_mm_serv_rej(struct gsm_subscriber_connection *conn,
>  				enum gsm48_reject_value value)

no. You need to move this code to the gsm_04_08_utils.c of libbsc.

> +		 -ldbi -ldl $(LIBOSMOSCCP_LIBS) \
> +		 $(LIBSMPP34_LIBS) $(LIBOSMOCORE_LIBS) \
> +		 $(LIBOSMOGSM_LIBS) $(LIBOSMOVTY_LIBS) $(COVERAGE_LDFLAGS) \
> +		 $(LIBOSMOABIS_LIBS)


eeeek. There is no reason that the BSC should link to libsmpp34 and dbi and
dl.. When moving the above code to gsm_04_08_utils.c no Makefile.am change
is necessary.


> +	LOGP(DMSC, LOGL_INFO, "Sending CM Service Accept\n");
> +	gsm48_tx_mm_serv_ack(conn);

I would prefer if this is the only change your patch is doing inside the
BSC. This will ease chery-picking. Feel free to do the renaming of the
method after.


holger




More information about the OpenBSC mailing list