From 6fc559effa636788bfbaf6a97ac705d568ecdc92 Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthm@freeswitch.org>
Date: Thu, 10 Nov 2011 09:46:56 -0600
Subject: [PATCH] fix build

---
 src/mod/endpoints/mod_sofia/mod_sofia.h | 1 +
 src/mod/endpoints/mod_sofia/sofia_reg.c | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.h b/src/mod/endpoints/mod_sofia/mod_sofia.h
index 318ecea2ce..df207fea32 100644
--- a/src/mod/endpoints/mod_sofia/mod_sofia.h
+++ b/src/mod/endpoints/mod_sofia/mod_sofia.h
@@ -473,6 +473,7 @@ struct sofia_gateway {
 	int32_t retry_seconds;
 	int32_t reg_timeout_seconds;
 	int32_t failure_status;
+	sub_state_t sub_state;
 	reg_state_t state;
 	switch_memory_pool_t *pool;
 	int deleted;
diff --git a/src/mod/endpoints/mod_sofia/sofia_reg.c b/src/mod/endpoints/mod_sofia/sofia_reg.c
index 6107817d51..9aa31ae1ba 100644
--- a/src/mod/endpoints/mod_sofia/sofia_reg.c
+++ b/src/mod/endpoints/mod_sofia/sofia_reg.c
@@ -110,7 +110,7 @@ static void sofia_reg_kill_sub(sofia_gateway_t *gateway_ptr)
 		nua_handle_bind(gateway_ptr->sub_nh, NULL);
 	}
 
-	if (gateway_ptr->state != SUB_STATE_SUBED && gateway_ptr->state != SUB_STATE_UNSUBSCRIBE) {
+	if (gateway_ptr->sub_state != SUB_STATE_SUBED && gateway_ptr->sub_state != SUB_STATE_UNSUBSCRIBE) {
 		if (gateway_ptr->sub_nh) {
 			nua_handle_destroy(gateway_ptr->sub_nh);
 			gateway_ptr->sub_nh = NULL;
@@ -213,6 +213,8 @@ void sofia_sub_check_gateway(sofia_profile_t *profile, time_t now)
 				gw_sub_ptr->expires_str = "0";
 			}
 
+			gateway_ptr->sub_state = gw_sub_ptr->state;
+
 			switch (ostate) {
 			case SUB_STATE_NOSUB:
 				break;