Author: sayer
Date: 2008-08-20 15:30:11 +0200 (Wed, 20 Aug 2008)
New Revision: 1063
Modified:
branches/1.0.0/apps/ivr/Makefile.ivr_application
branches/1.0.0/apps/mailbox/Makefile
branches/1.0.0/apps/pin_collect/Makefile
branches/1.0.0/apps/reg_agent/RegistrationAgent.cpp
branches/1.0.0/apps/registrar_client/SIPRegistrarClient.cpp
branches/1.0.0/apps/registrar_client/SIPRegistrarClient.h
Log:
install python applications' audio files (backport)
Modified: branches/1.0.0/apps/ivr/Makefile.ivr_application
===================================================================
--- branches/1.0.0/apps/ivr/Makefile.ivr_application 2008-08-20 13:23:41 UTC
(rev 1062)
+++ branches/1.0.0/apps/ivr/Makefile.ivr_application 2008-08-20 13:30:11 UTC
(rev 1063)
@@ -4,6 +4,8 @@
COREPATH ?= ../../core
IVRPATH ?= ../ivr
+AUDIO_FILES=$(notdir $(wildcard wav/*.wav))
+
include $(COREPATH)/../Makefile.defs
include $(IVRPATH)/Makefile.defs
@@ -37,7 +39,7 @@
python${PYTHON_VERSION} $(IVRPATH)/py_comp -q .
.PHONY: install
-install: all
+install: all $(extra_install)
install -d $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR}
install -m ${LIB_PERMISSIONS} *.pyc
$(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR}
install -d $(DESTDIR)${BASEDIR}/${LIB_INSTALLDIR}/${LIBDIR}
@@ -55,7 +57,19 @@
< $$r > $(DESTDIR)$(cfg-target)$$r; \
done
+$(DESTDIR)(audio-prefix)/$(audio-dir):
+ mkdir -p $(DESTDIR)$(audio-prefix)/$(audio-dir)
+.PHONY: $(NAME)_audio
+$(NAME)_audio: $(DESTDIR)$(audio-prefix)/$(audio-dir)
+ mkdir -p $(DESTDIR)$(audio-prefix)/$(audio-dir)$(NAME)
+ [EMAIL PROTECTED] f in $(AUDIO_FILES) ; do \
+ if [ -n "wav/$$f" ]; then \
+ $(INSTALL-TOUCH)
$(DESTDIR)$(audio-prefix)/$(audio-dir)$(NAME)/$$f; \
+ $(INSTALL-AUDIO) wav/$$f
$(DESTDIR)$(audio-prefix)/$(audio-dir)$(NAME)/$$f; \
+ fi ; \
+ done
+
uninstall:
@echo "please remove the files from $(DESTDIR)${LIB_INSTALLDIR}
manually."
Modified: branches/1.0.0/apps/mailbox/Makefile
===================================================================
--- branches/1.0.0/apps/mailbox/Makefile 2008-08-20 13:23:41 UTC (rev
1062)
+++ branches/1.0.0/apps/mailbox/Makefile 2008-08-20 13:30:11 UTC (rev
1063)
@@ -4,5 +4,7 @@
LIBDIR=imap_mailbox
+extra_install = $(NAME)_audio
+
include ../ivr/Makefile.ivr_application
Modified: branches/1.0.0/apps/pin_collect/Makefile
===================================================================
--- branches/1.0.0/apps/pin_collect/Makefile 2008-08-20 13:23:41 UTC (rev
1062)
+++ branches/1.0.0/apps/pin_collect/Makefile 2008-08-20 13:30:11 UTC (rev
1063)
@@ -4,5 +4,7 @@
LIBDIR=.
+extra_install = $(NAME)_audio
+
include ../ivr/Makefile.ivr_application
Modified: branches/1.0.0/apps/reg_agent/RegistrationAgent.cpp
===================================================================
--- branches/1.0.0/apps/reg_agent/RegistrationAgent.cpp 2008-08-20 13:23:41 UTC
(rev 1062)
+++ branches/1.0.0/apps/reg_agent/RegistrationAgent.cpp 2008-08-20 13:30:11 UTC
(rev 1063)
@@ -156,19 +156,24 @@
di_args.push(ri.handle.c_str());
uac_auth_i->invoke("getRegistrationState", di_args, res);
if (res.size()) {
- if (!res.get(0).asInt())
+ if (!res.get(0).asInt()) {
+ INFO("dne\n");
+
return false; // does not exist
+ }
int state = res.get(1).asInt();
int expires = res.get(2).asInt();
DBG("Got state %s with expires %us for registration.\n",
getSIPRegistationStateString(state), expires);
if (state == 2) // expired ... FIXME: add values from API here
return false;
+ INFO("pending\n");
// else pending or active
return true;
}
}
}
+ INFO("all\n");
return false;
}
@@ -181,7 +186,7 @@
for (vector<RegInfo>::iterator it = registrations.begin();
it != registrations.end(); it++) {
if (!check_registration(*it)) {
- DBG("Registration %d does not exist or timeout. Creating
registration.\n",
+ INFO("Registration %d does not exist or timeout. Creating
registration.\n",
(int)(it - registrations.begin()));
create_registration(*it);
}
Modified: branches/1.0.0/apps/registrar_client/SIPRegistrarClient.cpp
===================================================================
--- branches/1.0.0/apps/registrar_client/SIPRegistrarClient.cpp 2008-08-20
13:23:41 UTC (rev 1062)
+++ branches/1.0.0/apps/registrar_client/SIPRegistrarClient.cpp 2008-08-20
13:30:11 UTC (rev 1063)
@@ -186,7 +186,8 @@
: AmSIPEventHandler(name),
AmEventQueue(this) ,
uac_auth_i(NULL),
- AmDynInvokeFactory(MOD_NAME)
+ AmDynInvokeFactory(MOD_NAME),
+ started(false)
{
}
@@ -279,10 +280,19 @@
}
int SIPRegistrarClient::onLoad() {
- instance()->start();
+ instance()->start_once();
return 0;
}
+void SIPRegistrarClient::start_once() {
+ if (started)
+ return;
+ started=true;
+
+ start();
+}
+
+
void SIPRegistrarClient::process(AmEvent* ev) {
AmSipReplyEvent* sip_rep = dynamic_cast<AmSipReplyEvent*>(ev);
if (sip_rep) {
@@ -414,6 +424,7 @@
void SIPRegistrarClient::onNewRegistration(SIPNewRegistrationEvent* new_reg) {
+ string handle = new_reg->handle;
SIPRegistration* reg = new SIPRegistration(new_reg->handle, new_reg->info,
new_reg->sess_link);
@@ -443,6 +454,10 @@
add_reg(new_reg->handle, reg);
reg->doRegistration();
+
+ outstanding_regs_mut.lock();
+ outstanding_regs.erase(handle);
+ outstanding_regs_mut.unlock();
}
void SIPRegistrarClient::onRemoveRegistration(SIPRemoveRegistrationEvent*
new_reg) {
@@ -548,6 +563,10 @@
const string& sess_link) {
string handle = AmSession::getNewId();
+ outstanding_regs_mut.lock();
+ outstanding_regs.insert(handle);
+ outstanding_regs_mut.unlock();
+
instance()->
postEvent(new SIPNewRegistrationEvent(SIPRegistrationInfo(domain, user,
name, auth_user,
pwd),
@@ -575,6 +594,15 @@
}
reg_mut.unlock();
+ if (!res) {
+ outstanding_regs_mut.lock();
+ if (outstanding_regs.find(handle) != outstanding_regs.end()) {
+ res = true;
+ state = SIPRegistration::RegisterPending;
+ expires_left = 1000;
+ }
+ outstanding_regs_mut.unlock();
+ }
return res;
}
Modified: branches/1.0.0/apps/registrar_client/SIPRegistrarClient.h
===================================================================
--- branches/1.0.0/apps/registrar_client/SIPRegistrarClient.h 2008-08-20
13:23:41 UTC (rev 1062)
+++ branches/1.0.0/apps/registrar_client/SIPRegistrarClient.h 2008-08-20
13:30:11 UTC (rev 1063)
@@ -39,8 +39,10 @@
#include <map>
#include <string>
+#include <set>
using std::map;
using std::string;
+using std::set;
struct SIPRegistrationInfo {
string domain;
@@ -170,6 +172,13 @@
void checkTimeouts();
+
+ bool started;
+ void start_once();
+
+ set<string> outstanding_regs;
+ AmMutex outstanding_regs_mut;
+
public:
SIPRegistrarClient(const string& name);
// DI factory
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev