From 56cb7299071c8472a240a293036be3074f3eb4e0 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 2 Sep 2014 17:28:40 +0200 Subject: bsc: Add a "IPA PING" to the SCCP CR messages We want to reduce the background traffic and might set the ping interval to be in the range of minutes. But this means that if the TCP connection is frozen several "SCCP CR CM Service Requests" will be stuck in the send queue without ever being answered. I could have used the logic of not receiving the "SCCP CC" to close the connection but instead I am introducing an overload to schedule the ping as part of the normal SCCP connection establishment. The VTY write case has been manually verified, I have also looked at a single trace to see that the SCCP CR and the IPA PING is transfered in the same ethernet frame. --- openbsc/include/openbsc/osmo_bsc.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'openbsc/include/openbsc/osmo_bsc.h') diff --git a/openbsc/include/openbsc/osmo_bsc.h b/openbsc/include/openbsc/osmo_bsc.h index cd4e4deb9..19b879f56 100644 --- a/openbsc/include/openbsc/osmo_bsc.h +++ b/openbsc/include/openbsc/osmo_bsc.h @@ -27,6 +27,9 @@ struct osmo_bsc_sccp_con { uint16_t cic; int rtp_port; + /* for advanced ping/pong */ + int send_ping; + /* SCCP connection realted */ struct sccp_connection *sccp; struct osmo_msc_data *msc; @@ -45,7 +48,7 @@ struct bsc_api *osmo_bsc_api(); int bsc_queue_for_msc(struct osmo_bsc_sccp_con *conn, struct msgb *msg); int bsc_open_connection(struct osmo_bsc_sccp_con *sccp, struct msgb *msg); enum bsc_con bsc_create_new_connection(struct gsm_subscriber_connection *conn, - struct osmo_msc_data *msc); + struct osmo_msc_data *msc, int send_ping); int bsc_delete_connection(struct osmo_bsc_sccp_con *sccp); struct osmo_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, struct msgb *); -- cgit v1.2.3