[asterisk-scf-commits] asterisk-scf/integration/examples.git branch "basecomponentfix" created.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Mon Sep 26 14:11:15 CDT 2011
branch "basecomponentfix" has been created
at dea70b5111a08460020562b45b48fdbb67f84d8a (commit)
- Log -----------------------------------------------------------------
commit dea70b5111a08460020562b45b48fdbb67f84d8a
Author: Benjamin Oldenburg <benjamin.oldenburg at bericom.eu>
Date: Mon Sep 26 21:10:30 2011 +0200
Config files changes in accordance to ASTSCF-289
diff --git a/configs/BridgeManager.conf b/configs/BridgeManager.conf
index e212132..4772576 100644
--- a/configs/BridgeManager.conf
+++ b/configs/BridgeManager.conf
@@ -7,6 +7,13 @@ BridgeManager.ServiceAdapter.Endpoints=tcp -p 4441
BridgeManager.BackplaneAdapter.Endpoints=tcp -p 4442
BridgeManager.Standalone=yes
BridgeManager.ManagerInterface.ObjectId=BridgeManager
+
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+BridgeManager.InitServiceLocatorTimeout=30 # min: 1
+BridgeManager.InitServiceLocatorRetryDelay=2 # min: 1
+
# this service name property is used when registering this component's
# services with the ServiceLocator. services are registered with
# a Category, Service, and Instance.
diff --git a/configs/BridgeStateReplicator.conf b/configs/BridgeStateReplicator.conf
index 9bf283a..cb89280 100644
--- a/configs/BridgeStateReplicator.conf
+++ b/configs/BridgeStateReplicator.conf
@@ -7,6 +7,12 @@ BridgeReplicator.Adapter.ThreadPool.Size=4
BridgeReplicator.Adapter.Endpoints=tcp -p 4491
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+BridgeReplicator.InitServiceLocatorTimeout=30 # min: 1
+BridgeReplicator.InitServiceLocatorRetryDelay=2 # min: 1
+
# this service name property is used when registering this component's
# services with the ServiceLocator. services are registered with
# a Category, Service, and Instance.
diff --git a/configs/Logger.conf b/configs/Logger.conf
index 76459b6..2f72540 100644
--- a/configs/Logger.conf
+++ b/configs/Logger.conf
@@ -3,6 +3,12 @@ IceBox.Service.Logger=logging-service:createLoggingService
Logger.ServiceAdapter.Endpoints=tcp -p 4431
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+Logger.InitServiceLocatorTimeout=30 # min: 1
+Logger.InitServiceLocatorRetryDelay=2 # min: 1
+
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
# this is used to connect to the IceStorm instance that lives in the same IceBox
diff --git a/configs/MediaFormatGeneric.conf b/configs/MediaFormatGeneric.conf
index bccc4a0..de99570 100644
--- a/configs/MediaFormatGeneric.conf
+++ b/configs/MediaFormatGeneric.conf
@@ -11,6 +11,12 @@ MediaFormatGeneric.Standalone=yes
# a Category, Service, and Instance.
MediaFormatGeneric.ServiceName=default
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+MediaFormatGeneric.InitServiceLocatorTimeout=30 # min: 1
+MediaFormatGeneric.InitServiceLocatorRetryDelay=2 # min: 1
+
LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/MediaOperationCoreStateReplicator.conf b/configs/MediaOperationCoreStateReplicator.conf
index af3f963..3feb9c3 100644
--- a/configs/MediaOperationCoreStateReplicator.conf
+++ b/configs/MediaOperationCoreStateReplicator.conf
@@ -12,6 +12,12 @@ MediaOperationsCoreReplicator.Adapter.Endpoints=tcp -p 4489
# a Category, Service, and Instance.
MediaOperationsCoreReplicator.ServiceName=default
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+MediaOperationsCoreReplicator.InitServiceLocatorTimeout=30 # min: 1
+MediaOperationsCoreReplicator.InitServiceLocatorRetryDelay=2 # min: 1
+
LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/MediaOperationsCore.conf b/configs/MediaOperationsCore.conf
index 6524812..592e677 100644
--- a/configs/MediaOperationsCore.conf
+++ b/configs/MediaOperationsCore.conf
@@ -11,6 +11,12 @@ MediaOperationsCore.Standalone=yes
# a Category, Service, and Instance.
MediaOperationsCore.ServiceName=default
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+MediaOperationsCore.InitServiceLocatorTimeout=30 # min: 1
+MediaOperationsCore.InitServiceLocatorRetryDelay=2 # min: 1
+
LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/MediaServiceRTP.conf b/configs/MediaServiceRTP.conf
index c6c8edf..3c41a68 100644
--- a/configs/MediaServiceRTP.conf
+++ b/configs/MediaServiceRTP.conf
@@ -11,6 +11,12 @@ MediaServiceRTP.Standalone=yes
# a Category, Service, and Instance.
MediaServiceRTP.ServiceName=default
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+MediaServiceRTP.InitServiceLocatorTimeout=30 # min: 1
+MediaServiceRTP.InitServiceLocatorRetryDelay=2 # min: 1
+
LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/MediaServiceRTPStateReplicator.conf b/configs/MediaServiceRTPStateReplicator.conf
index 12da59e..e1102af 100644
--- a/configs/MediaServiceRTPStateReplicator.conf
+++ b/configs/MediaServiceRTPStateReplicator.conf
@@ -21,6 +21,12 @@ RtpStateReplicator.IceStorm.Flush.Timeout=2000
# a Category, Service, and Instance.
RtpStateReplicator.ServiceName=default
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+RtpStateReplicator.InitServiceLocatorTimeout=30 # min: 1
+RtpStateReplicator.InitServiceLocatorRetryDelay=2 # min: 1
+
LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/RoutingService.conf b/configs/RoutingService.conf
index 7e471e6..8eb5758 100644
--- a/configs/RoutingService.conf
+++ b/configs/RoutingService.conf
@@ -18,6 +18,12 @@ RoutingService.ServiceName=default
# (category: BridgeManager, service: default)
RoutingService.BridgeServiceName=default
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+RoutingService.InitServiceLocatorTimeout=30 # min: 1
+RoutingService.InitServiceLocatorRetryDelay=2 # min: 1
+
LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/RoutingStateReplicator.conf b/configs/RoutingStateReplicator.conf
index 717ed84..3bd3d4b 100644
--- a/configs/RoutingStateReplicator.conf
+++ b/configs/RoutingStateReplicator.conf
@@ -12,6 +12,12 @@ RoutingStateReplicator.Adapter.Endpoints=tcp -p 4459
# a Category, Service, and Instance.
RoutingStateReplicator.ServiceName=default
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+RoutingStateReplicator.InitServiceLocatorTimeout=30 # min: 1
+RoutingStateReplicator.InitServiceLocatorRetryDelay=2 # min: 1
+
LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/ServiceDiscoveryStateReplicator.conf b/configs/ServiceDiscoveryStateReplicator.conf
index 7791750..2b1476e 100644
--- a/configs/ServiceDiscoveryStateReplicator.conf
+++ b/configs/ServiceDiscoveryStateReplicator.conf
@@ -12,6 +12,12 @@ ServiceLocatorStateReplicator.Adapter.Endpoints=tcp -p 4419
# a Category, Service, and Instance.
ServiceLocatorStateReplicator.ServiceName=default
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+ServiceLocatorStateReplicator.InitServiceLocatorTimeout=30 # min: 1
+ServiceLocatorStateReplicator.InitServiceLocatorRetryDelay=2 # min: 1
+
# For the logger
LocatorService.Proxy=LocatorService:tcp -p 4411
diff --git a/configs/SipService.conf b/configs/SipService.conf
index f7505db..0ccc2ad 100644
--- a/configs/SipService.conf
+++ b/configs/SipService.conf
@@ -16,6 +16,12 @@ SipService.ServiceName=default
# be started in this instance
SipService.Modules=Session Logging Registrar
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+SipService.InitServiceLocatorTimeout=30 # min: 1
+SipService.InitServiceLocatorRetryDelay=2 # min: 1
+
LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/SipStateReplicator.conf b/configs/SipStateReplicator.conf
index 385a3b7..74b1d05 100644
--- a/configs/SipStateReplicator.conf
+++ b/configs/SipStateReplicator.conf
@@ -21,6 +21,12 @@ SipStateReplicator.IceStorm.Flush.Timeout=2000
# a Category, Service, and Instance.
SipStateReplicator.ServiceName=default
+# These properties define the total timeout and delay
+# per try in seconds for initialization of the
+# service locator
+SipStateReplicator.InitServiceLocatorTimeout=30 # min: 1
+SipStateReplicator.InitServiceLocatorRetryDelay=2 # min: 1
+
LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/start_astscf.sh b/configs/start_astscf.sh
index 4368436..34c5bb3 100755
--- a/configs/start_astscf.sh
+++ b/configs/start_astscf.sh
@@ -4,7 +4,7 @@
script="$(basename $0)"
-# components[i++]=ServiceDiscovery
+components[i++]=ServiceDiscovery
components[i++]=Logger
components[i++]=MediaFormatGeneric
components[i++]=MediaOperationsCore
@@ -44,9 +44,6 @@ while test $# -gt 0; do
esac
done
-start_component ServiceDiscovery
-sleep 5
-
for comp in "${components[@]}"
do
start_component "${comp}"
commit 1364e824c56415e088cdec1caaaaaeb5e6dd757f
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Thu Sep 22 18:14:31 2011 -0500
Add an initial README
diff --git a/configs/README b/configs/README
new file mode 100644
index 0000000..f86e1de
--- /dev/null
+++ b/configs/README
@@ -0,0 +1,21 @@
+This directory contains basic configuration files and scripts to start and run
+Asterisk SCF components.
+
+Notes:
+
+* Port numbers used by each service have been assigned from ranges to keep
+ them moderately consistent. If you change these sample configuration files,
+ please follow this pattern:
+ * 441x - Service Discovery
+ * 442x - IceStorm (central instance collocated with Service Discovery)
+ * 443x - Logger Service
+ * 444x - Bridge Service
+ * 445x - Routing Service
+ * 446x - SIP Service
+ * 447x - Media RTP Service
+ * 448x - Media Operations (Core) Service
+ * 449x - unused
+ * 450x - Media Format (Generic) Service
+
+ Note also that replicator services for each primary service have ports
+ assigned from the same range as the primary service.
commit 93a8f221e09b44aa27facb28d607674beb54e6ca
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Wed Sep 21 16:59:24 2011 -0500
Begin fleshing out startup script.
diff --git a/configs/start_astscf.sh b/configs/start_astscf.sh
old mode 100644
new mode 100755
index 5932327..4368436
--- a/configs/start_astscf.sh
+++ b/configs/start_astscf.sh
@@ -1,11 +1,53 @@
-#!/bin/sh
-
-# services to start:
-# servicediscovery (plus replicator)
-# logger
-# mediaformatgeneric
-# media_operations_core
-# routing (plus replicator)
-# bridging (plus replicator)
-# media_rtp_pjmedia (plus replicator)
-# sip (plus replicator)
+#!/bin/bash
+
+# arguments:
+
+script="$(basename $0)"
+
+# components[i++]=ServiceDiscovery
+components[i++]=Logger
+components[i++]=MediaFormatGeneric
+components[i++]=MediaOperationsCore
+components[i++]=MediaServiceRTP
+components[i++]=RoutingService
+components[i++]=BridgeManager
+components[i++]=SipService
+
+function usage()
+{
+ cat <<EOF
+usage: ${script}
+EOF
+}
+
+echo "Using Ice from ${ICE_HOME:=/opt/Ice-3.4}"
+echo "Using Asterisk SCF from ${ASTSCF_HOME:=/usr/local}"
+
+mkdir -p logs
+
+export LD_LIBRARY_PATH=${ICE_HOME}/lib:${ICE_HOME}/lib64:${ASTSCF_HOME}/lib:${ASTSCF_HOME}/lib/asterisk-scf/icebox
+
+function start_component()
+{
+# arguments:
+# 1 - component and config file name (friendly)
+ echo "Starting ${1}"
+ ${ICE_HOME}/bin/icebox --Ice.Config=${1}.conf &>>logs/${1}.log &
+}
+
+while test $# -gt 0; do
+ case ${1} in
+ *)
+ usage >&2
+ exit 1
+ ;;
+ esac
+done
+
+start_component ServiceDiscovery
+sleep 5
+
+for comp in "${components[@]}"
+do
+ start_component "${comp}"
+done
commit 58688549bc692e632b5b6e8ac7245c21292bf54c
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Wed Sep 21 16:58:52 2011 -0500
Fix up some duplicated and inconsistent port numbers.
diff --git a/configs/Logger.conf b/configs/Logger.conf
index 987849a..76459b6 100644
--- a/configs/Logger.conf
+++ b/configs/Logger.conf
@@ -8,4 +8,3 @@ LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
# this is used to connect to the IceStorm instance that lives in the same IceBox
# container as the ServiceDiscovery service
TopicManager.Proxy=ServiceDiscovery/TopicManager:tcp -p 4421
-
diff --git a/configs/MediaOperationCoreStateReplicator.conf b/configs/MediaOperationCoreStateReplicator.conf
index ecb15f5..af3f963 100644
--- a/configs/MediaOperationCoreStateReplicator.conf
+++ b/configs/MediaOperationCoreStateReplicator.conf
@@ -5,7 +5,7 @@ IceBox.Service.MediaOperationsCoreReplicator=MediaOperationStateReplicator:creat
MediaOperationsCoreReplicator.Adapter.ThreadPool.Size=4
-MediaOperationsCoreReplicator.Adapter.Endpoints=tcp -p 4492
+MediaOperationsCoreReplicator.Adapter.Endpoints=tcp -p 4489
# this service name property is used when registering this component's
# services with the ServiceLocator. services are registered with
diff --git a/configs/MediaServiceRTPStateReplicator.conf b/configs/MediaServiceRTPStateReplicator.conf
index bc75337..12da59e 100644
--- a/configs/MediaServiceRTPStateReplicator.conf
+++ b/configs/MediaServiceRTPStateReplicator.conf
@@ -5,13 +5,13 @@ IceBox.Service.RtpStateReplicator=RtpStateReplicator:create
RtpStateReplicator.Adapter.ThreadPool.Size=4
-RtpStateReplicator.Adapter.Endpoints=tcp -p 4493
+RtpStateReplicator.Adapter.Endpoints=tcp -p 4479
# Replicators have their own collocated IceStorm for replicating configuration
# data.
RtpStateReplicator.IceStorm.InstanceName=RtpStateReplicator
-RtpStateReplicator.IceStorm.TopicManager.Endpoints=default -p 10007
-RtpStateReplicator.IceStorm.Publish.Endpoints=default -p 10008
+RtpStateReplicator.IceStorm.TopicManager.Endpoints=default -p 4477
+RtpStateReplicator.IceStorm.Publish.Endpoints=default -p 4478
RtpStateReplicator.IceStorm.Trace.TopicManager=2
RtpStateReplicator.IceStorm.Transient=1
RtpStateReplicator.IceStorm.Flush.Timeout=2000
diff --git a/configs/RoutingStateReplicator.conf b/configs/RoutingStateReplicator.conf
index 2a5d9e8..717ed84 100644
--- a/configs/RoutingStateReplicator.conf
+++ b/configs/RoutingStateReplicator.conf
@@ -5,7 +5,7 @@ IceBox.Service.RoutingStateReplicator=RoutingStateReplicator:create
RoutingStateReplicator.Adapter.ThreadPool.Size=4
-RoutingStateReplicator.Adapter.Endpoints=tcp -p 4492
+RoutingStateReplicator.Adapter.Endpoints=tcp -p 4459
# this service name property is used when registering this component's
# services with the ServiceLocator. services are registered with
diff --git a/configs/ServiceDiscoveryStateReplicator.conf b/configs/ServiceDiscoveryStateReplicator.conf
index 9f39062..7791750 100644
--- a/configs/ServiceDiscoveryStateReplicator.conf
+++ b/configs/ServiceDiscoveryStateReplicator.conf
@@ -5,7 +5,7 @@ IceBox.Service.ServiceLocatorStateReplicator=ServiceLocatorStateReplicator:creat
ServiceLocatorStateReplicator.Adapter.ThreadPool.Size=4
-ServiceLocatorStateReplicator.Adapter.Endpoints=tcp -p 4495:udp -p 4495
+ServiceLocatorStateReplicator.Adapter.Endpoints=tcp -p 4419
# this service name property is used when registering this component's
# services with the ServiceLocator. services are registered with
diff --git a/configs/SipStateReplicator.conf b/configs/SipStateReplicator.conf
index c627890..385a3b7 100644
--- a/configs/SipStateReplicator.conf
+++ b/configs/SipStateReplicator.conf
@@ -5,17 +5,16 @@ IceBox.Service.SipStateReplicator=SipStateReplicator:create
SipStateReplicator.Adapter.ThreadPool.Size=4
-SipStateReplicator.Adapter.Endpoints=tcp -p 4490
+SipStateReplicator.Adapter.Endpoints=tcp -p 4469
# Replicators have their own collocated IceStorm for replicating configuration
# data.
SipStateReplicator.IceStorm.InstanceName=SipStateReplicatorIceStorm
-SipStateReplicator.IceStorm.TopicManager.Endpoints=default -p 10007
-SipStateReplicator.IceStorm.Publish.Endpoints=default -p 10008
+SipStateReplicator.IceStorm.TopicManager.Endpoints=default -p 4467
+SipStateReplicator.IceStorm.Publish.Endpoints=default -p 4468
SipStateReplicator.IceStorm.Trace.TopicManager=2
SipStateReplicator.IceStorm.Transient=1
SipStateReplicator.IceStorm.Flush.Timeout=2000
-SipStateReplicator.TopicManager.Proxy=SipStateReplicatorIceStorm/TopicManager:default -p 10007
# this service name property is used when registering this component's
# services with the ServiceLocator. services are registered with
commit 792c3643fc0ce084f8ac9e8d6c0e3834e5308e76
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Wed Sep 21 15:58:37 2011 -0500
Avoid duplicate port numbers.
diff --git a/configs/.gitignore b/configs/.gitignore
new file mode 100644
index 0000000..98d8a5a
--- /dev/null
+++ b/configs/.gitignore
@@ -0,0 +1 @@
+logs
diff --git a/configs/MediaFormatGeneric.conf b/configs/MediaFormatGeneric.conf
index c126ffe..bccc4a0 100644
--- a/configs/MediaFormatGeneric.conf
+++ b/configs/MediaFormatGeneric.conf
@@ -3,8 +3,8 @@ IceBox.InheritProperties=1
Ice.ThreadPool.Client.Size=10
IceBox.Service.MediaFormatGeneric=mediaformatgeneric:create
-MediaFormatGeneric.ServiceAdapter.Endpoints=tcp -p 4481
-MediaFormatGeneric.BackplaneAdapter.Endpoints=tcp -p 4482
+MediaFormatGeneric.ServiceAdapter.Endpoints=tcp -p 4501
+MediaFormatGeneric.BackplaneAdapter.Endpoints=tcp -p 4502
MediaFormatGeneric.Standalone=yes
# this service name property is used when registering this component's
# services with the ServiceLocator. services are registered with
commit 139f986811cf17d8f77c99eb2cadcedcefc5c898
Author: Ken Hunt <ken.hunt at digium.com>
Date: Tue Sep 20 11:55:57 2011 -0500
The TopicManager.Proxy reference uses "ServiceDiscovery" instead of "ServiceDiscoveryIceStorm".
diff --git a/configs/BridgeManager.conf b/configs/BridgeManager.conf
index 0044e50..e212132 100644
--- a/configs/BridgeManager.conf
+++ b/configs/BridgeManager.conf
@@ -17,4 +17,4 @@ LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
# this is used to connect to the IceStorm instance that lives in the same IceBox
# container as the ServiceDiscovery service
-TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
+TopicManager.Proxy=ServiceDiscovery/TopicManager:tcp -p 4421
diff --git a/configs/Logger.conf b/configs/Logger.conf
index 000580e..987849a 100644
--- a/configs/Logger.conf
+++ b/configs/Logger.conf
@@ -7,4 +7,5 @@ LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
# this is used to connect to the IceStorm instance that lives in the same IceBox
# container as the ServiceDiscovery service
-TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
+TopicManager.Proxy=ServiceDiscovery/TopicManager:tcp -p 4421
+
diff --git a/configs/MediaFormatGeneric.conf b/configs/MediaFormatGeneric.conf
index eb8c069..c126ffe 100644
--- a/configs/MediaFormatGeneric.conf
+++ b/configs/MediaFormatGeneric.conf
@@ -16,4 +16,4 @@ LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
# this is used to connect to the IceStorm instance that lives in the same IceBox
# container as the ServiceDiscovery service
-TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
+TopicManager.Proxy=ServiceDiscovery/TopicManager:tcp -p 4421
diff --git a/configs/MediaOperationsCore.conf b/configs/MediaOperationsCore.conf
index 1cda864..6524812 100644
--- a/configs/MediaOperationsCore.conf
+++ b/configs/MediaOperationsCore.conf
@@ -16,4 +16,4 @@ LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
# this is used to connect to the IceStorm instance that lives in the same IceBox
# container as the ServiceDiscovery service
-TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
+TopicManager.Proxy=ServiceDiscovery/TopicManager:tcp -p 4421
diff --git a/configs/MediaServiceRTP.conf b/configs/MediaServiceRTP.conf
index 3f49fa4..c6c8edf 100644
--- a/configs/MediaServiceRTP.conf
+++ b/configs/MediaServiceRTP.conf
@@ -16,4 +16,4 @@ LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
# this is used to connect to the IceStorm instance that lives in the same IceBox
# container as the ServiceDiscovery service
-TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
+TopicManager.Proxy=ServiceDiscovery/TopicManager:tcp -p 4421
diff --git a/configs/RoutingService.conf b/configs/RoutingService.conf
index e8b1f83..7e471e6 100644
--- a/configs/RoutingService.conf
+++ b/configs/RoutingService.conf
@@ -23,4 +23,5 @@ LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
# this is used to connect to the IceStorm instance that lives in the same IceBox
# container as the ServiceDiscovery service
-TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
+TopicManager.Proxy=ServiceDiscovery/TopicManager:tcp -p 4421
+
diff --git a/configs/ServiceDiscovery.conf b/configs/ServiceDiscovery.conf
index e6df674..e06bef2 100644
--- a/configs/ServiceDiscovery.conf
+++ b/configs/ServiceDiscovery.conf
@@ -15,3 +15,4 @@ ServiceDiscovery.IceStorm.Publish.Endpoints=tcp -p 4422:udp -p 4422
ServiceDiscovery.IceStorm.Trace.TopicManager=2
ServiceDiscovery.IceStorm.Transient=1
ServiceDiscovery.IceStorm.Flush.Timeout=2000
+
diff --git a/configs/SipService.conf b/configs/SipService.conf
index f6c435d..f7505db 100644
--- a/configs/SipService.conf
+++ b/configs/SipService.conf
@@ -21,4 +21,4 @@ LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
# this is used to connect to the IceStorm instance that lives in the same IceBox
# container as the ServiceDiscovery service
-TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
+TopicManager.Proxy=ServiceDiscovery/TopicManager:tcp -p 4421
commit f1338fc2a3fb0bbc66e214fb6a5aad723420ee7a
Author: Joshua Colp <jcolp at digium.com>
Date: Mon Sep 19 16:44:40 2011 -0300
Remove TopicManager proxy. No longer needed.
diff --git a/configs/MediaServiceRTPStateReplicator.conf b/configs/MediaServiceRTPStateReplicator.conf
index f73fc31..bc75337 100644
--- a/configs/MediaServiceRTPStateReplicator.conf
+++ b/configs/MediaServiceRTPStateReplicator.conf
@@ -15,7 +15,6 @@ RtpStateReplicator.IceStorm.Publish.Endpoints=default -p 10008
RtpStateReplicator.IceStorm.Trace.TopicManager=2
RtpStateReplicator.IceStorm.Transient=1
RtpStateReplicator.IceStorm.Flush.Timeout=2000
-RtpStateReplicator.TopicManager.Proxy=RtpStateReplicator/TopicManager:default -p 10007
# this service name property is used when registering this component's
# services with the ServiceLocator. services are registered with
commit 961f13f1f435e1a9f464a9aeb4bae580bdae56ea
Author: Joshua Colp <jcolp at digium.com>
Date: Mon Sep 19 16:24:39 2011 -0300
Fix name of library for the media operations core state replicator.
diff --git a/configs/MediaOperationCoreStateReplicator.conf b/configs/MediaOperationCoreStateReplicator.conf
index b04c704..ecb15f5 100644
--- a/configs/MediaOperationCoreStateReplicator.conf
+++ b/configs/MediaOperationCoreStateReplicator.conf
@@ -1,7 +1,7 @@
IceBox.InheritProperties=1
# this value was empirically determined... it may need to be different on different systems
Ice.ThreadPool.Client.Size=10
-IceBox.Service.MediaOperationsCoreReplicator=MediaOperationsCoreReplicator:create
+IceBox.Service.MediaOperationsCoreReplicator=MediaOperationStateReplicator:create
MediaOperationsCoreReplicator.Adapter.ThreadPool.Size=4
commit 2c6805590e8c22e9d84fd80783d174a25973e357
Author: Joshua Colp <jcolp at digium.com>
Date: Mon Sep 19 16:13:23 2011 -0300
Add adapter for replication.
diff --git a/configs/ServiceDiscovery.conf b/configs/ServiceDiscovery.conf
index 83d2193..e6df674 100644
--- a/configs/ServiceDiscovery.conf
+++ b/configs/ServiceDiscovery.conf
@@ -1,6 +1,7 @@
IceBox.InheritProperties=1
IceBox.Service.ServiceDiscovery=service_locator:create
+ServiceDiscovery.BackplaneAdapter.Endpoints=tcp -p 4410
ServiceDiscovery.Management.ServiceAdapter.Endpoints=tcp -p 4412
ServiceDiscovery.Locator.ServiceAdapter.Endpoints=tcp -p 4411
ServiceDiscovery.IceStorm.InstanceName=ServiceDiscovery
commit 50287adecc9dcf4faa45e9413928ab9e791a0cc7
Author: Brent Eagles <beagles at digium.com>
Date: Mon Sep 19 16:18:02 2011 -0230
Add missing "." between service name and "IceStorm"
diff --git a/configs/ServiceDiscovery.conf b/configs/ServiceDiscovery.conf
index 9617899..83d2193 100644
--- a/configs/ServiceDiscovery.conf
+++ b/configs/ServiceDiscovery.conf
@@ -3,14 +3,14 @@ IceBox.Service.ServiceDiscovery=service_locator:create
ServiceDiscovery.Management.ServiceAdapter.Endpoints=tcp -p 4412
ServiceDiscovery.Locator.ServiceAdapter.Endpoints=tcp -p 4411
-ServiceDiscovery.IceStorm.InstanceName=ServiceDiscoveryIceStorm
+ServiceDiscovery.IceStorm.InstanceName=ServiceDiscovery
# This is necessary for the logger client library, since it needs to locate
# the logger service using the service locator.
LocatorService.Proxy=LocatorService:tcp -p 4411
-ServiceDiscoveryIceStorm.TopicManager.Endpoints=tcp -p 4421
-ServiceDiscoveryIceStorm.Publish.Endpoints=tcp -p 4422:udp -p 4422
-ServiceDiscoveryIceStorm.Trace.TopicManager=2
-ServiceDiscoveryIceStorm.Transient=1
-ServiceDiscoveryIceStorm.Flush.Timeout=2000
+ServiceDiscovery.IceStorm.TopicManager.Endpoints=tcp -p 4421
+ServiceDiscovery.IceStorm.Publish.Endpoints=tcp -p 4422:udp -p 4422
+ServiceDiscovery.IceStorm.Trace.TopicManager=2
+ServiceDiscovery.IceStorm.Transient=1
+ServiceDiscovery.IceStorm.Flush.Timeout=2000
commit 050039f903df6471d209cbeb8f88885633001d04
Author: Ken Hunt <ken.hunt at digium.com>
Date: Fri Sep 16 15:56:43 2011 -0500
Service Discover state replicator config.
diff --git a/configs/ServiceDiscoveryStateReplicator.conf b/configs/ServiceDiscoveryStateReplicator.conf
new file mode 100644
index 0000000..9f39062
--- /dev/null
+++ b/configs/ServiceDiscoveryStateReplicator.conf
@@ -0,0 +1,17 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.ServiceLocatorStateReplicator=ServiceLocatorStateReplicator:create
+
+ServiceLocatorStateReplicator.Adapter.ThreadPool.Size=4
+
+ServiceLocatorStateReplicator.Adapter.Endpoints=tcp -p 4495:udp -p 4495
+
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
+ServiceLocatorStateReplicator.ServiceName=default
+
+# For the logger
+LocatorService.Proxy=LocatorService:tcp -p 4411
+
commit 00630f84c635a6f2ddce976baea773fb29b8f536
Author: Ken Hunt <ken.hunt at digium.com>
Date: Fri Sep 16 15:51:13 2011 -0500
Media Operation replicator config. Adding the Locator proxy for loggers.
diff --git a/configs/BridgeStateReplicator.conf b/configs/BridgeStateReplicator.conf
index 8049a85..9bf283a 100644
--- a/configs/BridgeStateReplicator.conf
+++ b/configs/BridgeStateReplicator.conf
@@ -12,5 +12,6 @@ BridgeReplicator.Adapter.Endpoints=tcp -p 4491
# a Category, Service, and Instance.
BridgeReplicator.ServiceName=default
+LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/BridgeStateReplicator.conf b/configs/MediaOperationCoreStateReplicator.conf
similarity index 57%
copy from configs/BridgeStateReplicator.conf
copy to configs/MediaOperationCoreStateReplicator.conf
index 8049a85..b04c704 100644
--- a/configs/BridgeStateReplicator.conf
+++ b/configs/MediaOperationCoreStateReplicator.conf
@@ -1,16 +1,17 @@
IceBox.InheritProperties=1
# this value was empirically determined... it may need to be different on different systems
Ice.ThreadPool.Client.Size=10
-IceBox.Service.BridgeReplicator=BridgeReplicator:create
+IceBox.Service.MediaOperationsCoreReplicator=MediaOperationsCoreReplicator:create
-BridgeReplicator.Adapter.ThreadPool.Size=4
+MediaOperationsCoreReplicator.Adapter.ThreadPool.Size=4
-BridgeReplicator.Adapter.Endpoints=tcp -p 4491
+MediaOperationsCoreReplicator.Adapter.Endpoints=tcp -p 4492
# this service name property is used when registering this component's
# services with the ServiceLocator. services are registered with
# a Category, Service, and Instance.
-BridgeReplicator.ServiceName=default
+MediaOperationsCoreReplicator.ServiceName=default
+LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
diff --git a/configs/RoutingStateReplicator.conf b/configs/RoutingStateReplicator.conf
index b5c04a3..2a5d9e8 100644
--- a/configs/RoutingStateReplicator.conf
+++ b/configs/RoutingStateReplicator.conf
@@ -12,5 +12,6 @@ RoutingStateReplicator.Adapter.Endpoints=tcp -p 4492
# a Category, Service, and Instance.
RoutingStateReplicator.ServiceName=default
+LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
commit 768330fe2a8116509d21f89d4a405f6a020fe5a9
Author: Ken Hunt <ken.hunt at digium.com>
Date: Fri Sep 16 15:45:16 2011 -0500
RTP and Routing state replicator configs.
diff --git a/configs/MediaServiceRTPStateReplicator.conf b/configs/MediaServiceRTPStateReplicator.conf
new file mode 100644
index 0000000..f73fc31
--- /dev/null
+++ b/configs/MediaServiceRTPStateReplicator.conf
@@ -0,0 +1,27 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.RtpStateReplicator=RtpStateReplicator:create
+
+RtpStateReplicator.Adapter.ThreadPool.Size=4
+
+RtpStateReplicator.Adapter.Endpoints=tcp -p 4493
+
+# Replicators have their own collocated IceStorm for replicating configuration
+# data.
+RtpStateReplicator.IceStorm.InstanceName=RtpStateReplicator
+RtpStateReplicator.IceStorm.TopicManager.Endpoints=default -p 10007
+RtpStateReplicator.IceStorm.Publish.Endpoints=default -p 10008
+RtpStateReplicator.IceStorm.Trace.TopicManager=2
+RtpStateReplicator.IceStorm.Transient=1
+RtpStateReplicator.IceStorm.Flush.Timeout=2000
+RtpStateReplicator.TopicManager.Proxy=RtpStateReplicator/TopicManager:default -p 10007
+
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
+RtpStateReplicator.ServiceName=default
+
+LocatorService.Proxy=LocatorService:tcp -p 4411
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
+
diff --git a/configs/RoutingStateReplicator.conf b/configs/RoutingStateReplicator.conf
new file mode 100644
index 0000000..b5c04a3
--- /dev/null
+++ b/configs/RoutingStateReplicator.conf
@@ -0,0 +1,16 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.RoutingStateReplicator=RoutingStateReplicator:create
+
+RoutingStateReplicator.Adapter.ThreadPool.Size=4
+
+RoutingStateReplicator.Adapter.Endpoints=tcp -p 4492
+
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
+RoutingStateReplicator.ServiceName=default
+
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
+
commit ba1f5bd8b75be665f67a1dbf27151ff040f56374
Author: Ken Hunt <ken.hunt at digium.com>
Date: Fri Sep 16 15:31:40 2011 -0500
Bridge state replicator config.
diff --git a/configs/BridgeStateReplicator.conf b/configs/BridgeStateReplicator.conf
new file mode 100644
index 0000000..8049a85
--- /dev/null
+++ b/configs/BridgeStateReplicator.conf
@@ -0,0 +1,16 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.BridgeReplicator=BridgeReplicator:create
+
+BridgeReplicator.Adapter.ThreadPool.Size=4
+
+BridgeReplicator.Adapter.Endpoints=tcp -p 4491
+
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
+BridgeReplicator.ServiceName=default
+
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
+
diff --git a/configs/SipStateReplicator.conf b/configs/SipStateReplicator.conf
index ae3e32d..c627890 100644
--- a/configs/SipStateReplicator.conf
+++ b/configs/SipStateReplicator.conf
@@ -3,7 +3,7 @@ IceBox.InheritProperties=1
Ice.ThreadPool.Client.Size=10
IceBox.Service.SipStateReplicator=SipStateReplicator:create
-SipStateReplicator.ThreadPool.Size=4
+SipStateReplicator.Adapter.ThreadPool.Size=4
SipStateReplicator.Adapter.Endpoints=tcp -p 4490
commit 38f375457b8a584f714064c154c615b609dbd27e
Author: Ken Hunt <ken.hunt at digium.com>
Date: Fri Sep 16 15:24:04 2011 -0500
Added SIP State Replicator config.
diff --git a/configs/SipStateReplicator.conf b/configs/SipStateReplicator.conf
new file mode 100644
index 0000000..ae3e32d
--- /dev/null
+++ b/configs/SipStateReplicator.conf
@@ -0,0 +1,27 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.SipStateReplicator=SipStateReplicator:create
+
+SipStateReplicator.ThreadPool.Size=4
+
+SipStateReplicator.Adapter.Endpoints=tcp -p 4490
+
+# Replicators have their own collocated IceStorm for replicating configuration
+# data.
+SipStateReplicator.IceStorm.InstanceName=SipStateReplicatorIceStorm
+SipStateReplicator.IceStorm.TopicManager.Endpoints=default -p 10007
+SipStateReplicator.IceStorm.Publish.Endpoints=default -p 10008
+SipStateReplicator.IceStorm.Trace.TopicManager=2
+SipStateReplicator.IceStorm.Transient=1
+SipStateReplicator.IceStorm.Flush.Timeout=2000
+SipStateReplicator.TopicManager.Proxy=SipStateReplicatorIceStorm/TopicManager:default -p 10007
+
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
+SipStateReplicator.ServiceName=default
+
+LocatorService.Proxy=LocatorService:tcp -p 4411
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
+
commit 9208a6dafe7b602a2085c7443e7bbc6e2016763f
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 15:05:43 2011 -0500
Basic configuration for Media Operations (Core)
diff --git a/configs/MediaOperationsCore.conf b/configs/MediaOperationsCore.conf
new file mode 100644
index 0000000..1cda864
--- /dev/null
+++ b/configs/MediaOperationsCore.conf
@@ -0,0 +1,19 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.MediaOperationsCore=MediaOperationsCore:create
+
+MediaOperationsCore.ServiceAdapter.Endpoints=tcp -p 4481
+MediaOperationsCore.BackplaneAdapter.Endpoints=tcp -p 4482
+MediaOperationsCore.Standalone=yes
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
+MediaOperationsCore.ServiceName=default
+
+LocatorService.Proxy=LocatorService:tcp -p 4411
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
+
+# this is used to connect to the IceStorm instance that lives in the same IceBox
+# container as the ServiceDiscovery service
+TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
commit 418d7a93286e551ed4737fe3f15883788af05590
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 15:04:21 2011 -0500
Basic configuration for Media Format Generic
diff --git a/configs/MediaFormatGeneric.conf b/configs/MediaFormatGeneric.conf
new file mode 100644
index 0000000..eb8c069
--- /dev/null
+++ b/configs/MediaFormatGeneric.conf
@@ -0,0 +1,19 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.MediaFormatGeneric=mediaformatgeneric:create
+
+MediaFormatGeneric.ServiceAdapter.Endpoints=tcp -p 4481
+MediaFormatGeneric.BackplaneAdapter.Endpoints=tcp -p 4482
+MediaFormatGeneric.Standalone=yes
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
+MediaFormatGeneric.ServiceName=default
+
+LocatorService.Proxy=LocatorService:tcp -p 4411
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
+
+# this is used to connect to the IceStorm instance that lives in the same IceBox
+# container as the ServiceDiscovery service
+TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
commit 19b16dd974edb0dc4081ff6fd393fe94d2a833c7
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 15:02:19 2011 -0500
Basic configuration for PJMEDIA-based RTP Media Service
diff --git a/configs/MediaServiceRTP.conf b/configs/MediaServiceRTP.conf
new file mode 100644
index 0000000..3f49fa4
--- /dev/null
+++ b/configs/MediaServiceRTP.conf
@@ -0,0 +1,19 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.MediaServiceRTP=media_rtp_pjmedia:create
+
+MediaServiceRTP.ServiceAdapter.Endpoints=tcp -p 4471
+MediaServiceRTP.BackplaneAdapter.Endpoints=tcp -p 4472
+MediaServiceRTP.Standalone=yes
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
+MediaServiceRTP.ServiceName=default
+
+LocatorService.Proxy=LocatorService:tcp -p 4411
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
+
+# this is used to connect to the IceStorm instance that lives in the same IceBox
+# container as the ServiceDiscovery service
+TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
commit bf38bcd8f66f8c9f11d08fab030c94ee501de6d5
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 14:55:20 2011 -0500
Basic configuration for Sip Service
diff --git a/configs/SipService.conf b/configs/SipService.conf
new file mode 100644
index 0000000..f6c435d
--- /dev/null
+++ b/configs/SipService.conf
@@ -0,0 +1,24 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.SipService=SipSessionManager:create
+
+SipService.ServiceAdapter.Endpoints=tcp -p 4461
+SipService.ServiceAdapter.ThreadPool.Size=4
+SipService.BackplaneAdapter.Endpoints=tcp -p 4462
+SipService.BackplaneAdapter.ThreadPool.Size=4
+SipService.Standalone=yes
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
+SipService.ServiceName=default
+# this property specifies which of the available service modules should
+# be started in this instance
+SipService.Modules=Session Logging Registrar
+
+LocatorService.Proxy=LocatorService:tcp -p 4411
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
+
+# this is used to connect to the IceStorm instance that lives in the same IceBox
+# container as the ServiceDiscovery service
+TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
commit 4fe004d39946a3d826db046fca12fd4204291fd2
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 14:42:49 2011 -0500
Set service names for registration with Service Locator
diff --git a/configs/BridgeManager.conf b/configs/BridgeManager.conf
index 72fbf99..0044e50 100644
--- a/configs/BridgeManager.conf
+++ b/configs/BridgeManager.conf
@@ -7,10 +7,9 @@ BridgeManager.ServiceAdapter.Endpoints=tcp -p 4441
BridgeManager.BackplaneAdapter.Endpoints=tcp -p 4442
BridgeManager.Standalone=yes
BridgeManager.ManagerInterface.ObjectId=BridgeManager
-
-# This service name property is used in registering this components
-# services with the Service Locator. Services are registered in
-# a Category, Service, and Instance Id for discovery.
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
BridgeManager.ServiceName=default
LocatorService.Proxy=LocatorService:tcp -p 4411
diff --git a/configs/RoutingService.conf b/configs/RoutingService.conf
index a617afc..e8b1f83 100644
--- a/configs/RoutingService.conf
+++ b/configs/RoutingService.conf
@@ -6,6 +6,10 @@ IceBox.Service.RoutingService=BasicRoutingService:create
RoutingService.ServiceAdapter.Endpoints=tcp -p 4451
RoutingService.BackplaneAdapter.Endpoints=tcp -p 4452
RoutingService.Standalone=yes
+# this service name property is used when registering this component's
+# services with the ServiceLocator. services are registered with
+# a Category, Service, and Instance.
+RoutingService.ServiceName=default
# the RoutingService will use the ServiceLocator to locate the BridgeManager;
# to do so it needs to specify the category (which is always “BridgeManager”, it is not
# configurable), and the service name. the service name is configurable in the
commit a6bbfe3c993a925dc140c8dc318143e2a26e1c55
Author: Ken Hunt <ken.hunt at digium.com>
Date: Fri Sep 16 14:40:24 2011 -0500
Added ServiceName
diff --git a/configs/BridgeManager.conf b/configs/BridgeManager.conf
index 1c8fba4..72fbf99 100644
--- a/configs/BridgeManager.conf
+++ b/configs/BridgeManager.conf
@@ -8,6 +8,11 @@ BridgeManager.BackplaneAdapter.Endpoints=tcp -p 4442
BridgeManager.Standalone=yes
BridgeManager.ManagerInterface.ObjectId=BridgeManager
+# This service name property is used in registering this components
+# services with the Service Locator. Services are registered in
+# a Category, Service, and Instance Id for discovery.
+BridgeManager.ServiceName=default
+
LocatorService.Proxy=LocatorService:tcp -p 4411
LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
commit 599eb16bced55975a4a07d17710cc47a8831d711
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 14:38:07 2011 -0500
Basic configuration for Routing Service
diff --git a/configs/RoutingService.conf b/configs/RoutingService.conf
new file mode 100644
index 0000000..a617afc
--- /dev/null
+++ b/configs/RoutingService.conf
@@ -0,0 +1,22 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.RoutingService=BasicRoutingService:create
+
+RoutingService.ServiceAdapter.Endpoints=tcp -p 4451
+RoutingService.BackplaneAdapter.Endpoints=tcp -p 4452
+RoutingService.Standalone=yes
+# the RoutingService will use the ServiceLocator to locate the BridgeManager;
+# to do so it needs to specify the category (which is always “BridgeManager”, it is not
+# configurable), and the service name. the service name is configurable in the
+# configuration file of the BridgeManager itself, and in the example config it is set to
+# “default”, so the configuration item below tells the RoutingService to look up
+# (category: BridgeManager, service: default)
+RoutingService.BridgeServiceName=default
+
+LocatorService.Proxy=LocatorService:tcp -p 4411
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
+
+# this is used to connect to the IceStorm instance that lives in the same IceBox
+# container as the ServiceDiscovery service
+TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
commit 319251699e0f9f0333d558d957f1549e6c912031
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 14:24:45 2011 -0500
Basic configuration for Bridge Manager
diff --git a/configs/BridgeManager.conf b/configs/BridgeManager.conf
new file mode 100644
index 0000000..1c8fba4
--- /dev/null
+++ b/configs/BridgeManager.conf
@@ -0,0 +1,16 @@
+IceBox.InheritProperties=1
+# this value was empirically determined... it may need to be different on different systems
+Ice.ThreadPool.Client.Size=10
+IceBox.Service.BridgeManager=bridgeservice:create
+
+BridgeManager.ServiceAdapter.Endpoints=tcp -p 4441
+BridgeManager.BackplaneAdapter.Endpoints=tcp -p 4442
+BridgeManager.Standalone=yes
+BridgeManager.ManagerInterface.ObjectId=BridgeManager
+
+LocatorService.Proxy=LocatorService:tcp -p 4411
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
+
+# this is used to connect to the IceStorm instance that lives in the same IceBox
+# container as the ServiceDiscovery service
+TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
commit d5719e160d0af4e4a72dbed95a05a5db13ffa6e0
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 14:16:11 2011 -0500
* Specify 'tcp' instead of 'default' for object adapter endpoints.
* Assign a port number range to each service, and don't use randomly-assigned
port numbers.
diff --git a/configs/Logger.conf b/configs/Logger.conf
index a2f3ac7..000580e 100644
--- a/configs/Logger.conf
+++ b/configs/Logger.conf
@@ -1,10 +1,10 @@
IceBox.InheritProperties=1
IceBox.Service.Logger=logging-service:createLoggingService
-Logger.ServiceAdapter.Endpoints=default
+Logger.ServiceAdapter.Endpoints=tcp -p 4431
-LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4422
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4412
# this is used to connect to the IceStorm instance that lives in the same IceBox
# container as the ServiceDiscovery service
-TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:default -p 10000
+TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:tcp -p 4421
diff --git a/configs/ServiceDiscovery.conf b/configs/ServiceDiscovery.conf
index 266bfb4..9617899 100644
--- a/configs/ServiceDiscovery.conf
+++ b/configs/ServiceDiscovery.conf
@@ -1,7 +1,7 @@
IceBox.InheritProperties=1
IceBox.Service.ServiceDiscovery=service_locator:create
-ServiceDiscovery.Management.ServiceAdapter.Endpoints=tcp -p 4422
+ServiceDiscovery.Management.ServiceAdapter.Endpoints=tcp -p 4412
ServiceDiscovery.Locator.ServiceAdapter.Endpoints=tcp -p 4411
ServiceDiscovery.IceStorm.InstanceName=ServiceDiscoveryIceStorm
@@ -9,8 +9,8 @@ ServiceDiscovery.IceStorm.InstanceName=ServiceDiscoveryIceStorm
# the logger service using the service locator.
LocatorService.Proxy=LocatorService:tcp -p 4411
-ServiceDiscoveryIceStorm.TopicManager.Endpoints=default -p 10000
-ServiceDiscoveryIceStorm.Publish.Endpoints=tcp -p 10001:udp -p 10001
+ServiceDiscoveryIceStorm.TopicManager.Endpoints=tcp -p 4421
+ServiceDiscoveryIceStorm.Publish.Endpoints=tcp -p 4422:udp -p 4422
ServiceDiscoveryIceStorm.Trace.TopicManager=2
ServiceDiscoveryIceStorm.Transient=1
ServiceDiscoveryIceStorm.Flush.Timeout=2000
commit bb2563a3e9e922aa8f9b29ab27f66c6617b4388e
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 14:06:17 2011 -0500
Basic configuration for Logger
diff --git a/configs/Logger.conf b/configs/Logger.conf
new file mode 100644
index 0000000..a2f3ac7
--- /dev/null
+++ b/configs/Logger.conf
@@ -0,0 +1,10 @@
+IceBox.InheritProperties=1
+IceBox.Service.Logger=logging-service:createLoggingService
+
+Logger.ServiceAdapter.Endpoints=default
+
+LocatorServiceManagement.Proxy=LocatorServiceManagement:tcp -p 4422
+
+# this is used to connect to the IceStorm instance that lives in the same IceBox
+# container as the ServiceDiscovery service
+TopicManager.Proxy=ServiceDiscoveryIceStorm/TopicManager:default -p 10000
commit a1b7370ecba8d7e1fc0b7e53431f442d71ee7bef
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 13:52:48 2011 -0500
Basic configuration for Service Discovery
diff --git a/configs/ServiceDiscovery.conf b/configs/ServiceDiscovery.conf
new file mode 100644
index 0000000..266bfb4
--- /dev/null
+++ b/configs/ServiceDiscovery.conf
@@ -0,0 +1,16 @@
+IceBox.InheritProperties=1
+IceBox.Service.ServiceDiscovery=service_locator:create
+
+ServiceDiscovery.Management.ServiceAdapter.Endpoints=tcp -p 4422
+ServiceDiscovery.Locator.ServiceAdapter.Endpoints=tcp -p 4411
+ServiceDiscovery.IceStorm.InstanceName=ServiceDiscoveryIceStorm
+
+# This is necessary for the logger client library, since it needs to locate
+# the logger service using the service locator.
+LocatorService.Proxy=LocatorService:tcp -p 4411
+
+ServiceDiscoveryIceStorm.TopicManager.Endpoints=default -p 10000
+ServiceDiscoveryIceStorm.Publish.Endpoints=tcp -p 10001:udp -p 10001
+ServiceDiscoveryIceStorm.Trace.TopicManager=2
+ServiceDiscoveryIceStorm.Transient=1
+ServiceDiscoveryIceStorm.Flush.Timeout=2000
commit b31f6cdb046b13499a37491e3506044a77456df5
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 13:23:35 2011 -0500
List of services to start in a usable order
diff --git a/configs/start_astscf.sh b/configs/start_astscf.sh
index 40f6c61..5932327 100644
--- a/configs/start_astscf.sh
+++ b/configs/start_astscf.sh
@@ -1,3 +1,11 @@
#!/bin/sh
-# TODO... put stuff here
+# services to start:
+# servicediscovery (plus replicator)
+# logger
+# mediaformatgeneric
+# media_operations_core
+# routing (plus replicator)
+# bridging (plus replicator)
+# media_rtp_pjmedia (plus replicator)
+# sip (plus replicator)
commit 135b5fdd5168af0230e40fdafbe37b04d011cb42
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Sep 16 12:55:54 2011 -0500
Add a 'configs' directory for example configs, and start a shell script
that will be able to start all the Asterisk SCF services using the example
configs.
diff --git a/configs/start_astscf.sh b/configs/start_astscf.sh
new file mode 100644
index 0000000..40f6c61
--- /dev/null
+++ b/configs/start_astscf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+# TODO... put stuff here
commit 3d8ac5eed7e3c2546939212cc90c0e2584270bda
Author: Joshua Colp <jcolp at digium.com>
Date: Wed Aug 3 17:18:39 2011 -0300
Provide a sane default for the service locator proxy.
diff --git a/ExampleSipAuthHook.py b/ExampleSipAuthHook.py
index 31e979d..2154f52 100755
--- a/ExampleSipAuthHook.py
+++ b/ExampleSipAuthHook.py
@@ -63,6 +63,7 @@ class ExampleAuthHookApp(Ice.Application):
serviceLocator = None
extensionPoint = None
+ serviceLocatorString = "LocatorService:tcp -p 4411"
for o, a in opts:
if o in ("-h", "--help"):
@@ -70,7 +71,9 @@ class ExampleAuthHookApp(Ice.Application):
return 1
elif o in ("-l", "--locator"):
- serviceLocator = ServiceLocatorPrx.checkedCast(self.communicator().stringToProxy(a))
+ serviceLocatorString = a
+
+ serviceLocator = ServiceLocatorPrx.checkedCast(self.communicator().stringToProxy(serviceLocatorString))
if serviceLocator == None:
print >> sys.stderr, "No service locator proxy specified. For usage details please run " + sys.argv[0] + " --help"
commit 466b8d4f2d72ad8926253303e1379a92a587c6b3
Author: Joshua Colp <jcolp at digium.com>
Date: Wed Aug 3 16:47:27 2011 -0300
Add an example SIP authentication hook python script.
diff --git a/ExampleSipAuthHook.py b/ExampleSipAuthHook.py
new file mode 100755
index 0000000..31e979d
--- /dev/null
+++ b/ExampleSipAuthHook.py
@@ -0,0 +1,105 @@
+#!/usr/bin/env python
+
+#
+# Asterisk SCF -- An open-source communications framework.
+#
+# Copyright (C) 2011, Digium, Inc.
+#
+# See http://www.asterisk.org for more information about
+# the Asterisk SCF project. Please do not directly contact
+# any of the maintainers of this project for assistance;
+# the project provides a web site, mailing lists and IRC
+# channels for your use.
+#
+# This program is free software, distributed under the terms of
+# the GNU General Public License Version 2. See the LICENSE.txt file
+# at the top of the source tree.
+#
+
+# Sip Example Authentication Hook
+
+import sys, threading, Ice, os, getopt
+
+Ice.loadSlice("--underscore -I" + os.environ["ASTSCF_HOME"] + " -I" + Ice.getSliceDir() + " --all " + os.environ["ASTSCF_HOME"] + "/AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice")
+Ice.loadSlice("--underscore -I" + os.environ["ASTSCF_HOME"] + " -I" + Ice.getSliceDir() + " --all " + os.environ["ASTSCF_HOME"] + "/AsteriskSCF/SIP/SIPExtensionPointIf.ice")
+
+from AsteriskSCF.Core.Discovery.V1 import *
+from AsteriskSCF.SIP.ExtensionPoint.V1 import *
+from AsteriskSCF.System.Hook.V1 import *
+
+class ExampleAuthHook(AuthHook):
+ def challengeRequest(self, info, challenges):
+ result = HookResult()
+ result.status = HookStatus.Succeeded
+
+ challenge = MD5DigestChallenge()
+ challenge.username = "bob"
+ challenge.password = "alice"
+ challenge.realm = "example"
+ challenge.domain = [ "example.com" ]
+
+ challenges = [ challenge ]
+
+ return (result, challenges)
+
+class ExampleAuthHookApp(Ice.Application):
+ def usage(self):
+ """Print usage information for the example SIP authentication hook"""
+
+ print "Usage: " + self.appName() + " [--locator=stringified service locator proxy]"
+ print "Hook into a SIP component and provide authentication."
+ print ""
+ print "Mandatory arguments to long options are mandatory for short options too."
+ print "-h, --help display help information"
+ print "-l, --locator=PROXY use specified proxy for service locator"
+
+ def run(self, args):
+ try:
+ opts, arguments = getopt.getopt(args[1:], "hl:", ["help", "locator="])
+ except getopt.GetoptError, err:
+ print str(err)
+ self.usage()
+ return 1
+
+ serviceLocator = None
+ extensionPoint = None
+
+ for o, a in opts:
+ if o in ("-h", "--help"):
+ self.usage()
+ return 1
+
+ elif o in ("-l", "--locator"):
+ serviceLocator = ServiceLocatorPrx.checkedCast(self.communicator().stringToProxy(a))
+
+ if serviceLocator == None:
+ print >> sys.stderr, "No service locator proxy specified. For usage details please run " + sys.argv[0] + " --help"
+ return -1
+
+ serviceLocatorParams = ServiceLocatorParams()
+ serviceLocatorParams.category = "SipAuthExtensionPoint"
+
+ try:
+ service = serviceLocator.locate(serviceLocatorParams)
+ except AsteriskSCF.Core.Discovery.V1.ServiceNotFound:
+ print >> sys.stderr, "SIP authentication extension point could not be found in service locator."
+ return -1
+
+ extensionPoint = AuthExtensionPointPrx.checkedCast(service)
+
+ adapter = self.communicator().createObjectAdapterWithEndpoints("ExampleAuthHookApp", "default");
+ adapter.activate();
+
+ hook = ExampleAuthHook()
+
+ proxy = AuthHookPrx.uncheckedCast(adapter.addWithUUID(hook))
+
+ extensionPoint.addAuthHook(proxy, 1, [ RequestType.DialogEstablishing ])
+
+ self.communicator().waitForShutdown()
+ extensionPoint.removeAuthHook(proxy)
+
+ return 0
+
+app = ExampleAuthHookApp()
+sys.exit(app.main(sys.argv))
diff --git a/README.txt b/README.txt
index d0fa295..b792160 100644
--- a/README.txt
+++ b/README.txt
@@ -25,3 +25,9 @@ When sessions are added to a bridge, it then adds itself as a SessionListener. A
events on bridges and sessions are caught by this script. The script simply prints
a message to stdout when an event is received. For usage information, run
'Bridge_SessionListener.py -h' .
+
+* ExampleSipAuthHook.py
+
+This scripts attaches to the SIP session gateway and challenges for authentication
+using the username 'bob' and the password 'alice'. For usage information, run
+'ExampleSipAuthHook.py -h' .
commit 700889d2e714815b4b57c324cfef94d6d0b287ae
Author: Mark Michelson <mmichelson at digium.com>
Date: Fri Jul 1 09:23:39 2011 -0500
Address Joshua's comments on CR-ASTSCF-113
* Correct typo of "tryint" into "trying"
* Add message about how to get usage instructions in the README.txt
diff --git a/Bridge_SessionListener.py b/Bridge_SessionListener.py
index 0621d3a..b537047 100755
--- a/Bridge_SessionListener.py
+++ b/Bridge_SessionListener.py
@@ -211,7 +211,7 @@ class ListenerApp(Ice.Application):
try:
self.bridgeManager.removeListener(self.bridgeManagerListenerPrx)
except Ice.Exception as ex:
- print "Error tryint to remove ourself as a bridge manager listener: " + ex.what()
+ print "Error trying to remove ourself as a bridge manager listener: " + ex.what()
Ice.Application._destroyOnInterruptCallback(sig)
diff --git a/README.txt b/README.txt
index 17c5284..d0fa295 100644
--- a/README.txt
+++ b/README.txt
@@ -23,4 +23,5 @@ This script creates a BridgeListener, BridgeManagerListener, and a SessionListen
At startup, it adds itself as a BridgeManagerListener and a default BridgeListener.
When sessions are added to a bridge, it then adds itself as a SessionListener. All
events on bridges and sessions are caught by this script. The script simply prints
-a message to stdout when an event is received.
+a message to stdout when an event is received. For usage information, run
+'Bridge_SessionListener.py -h' .
commit f86a322c06b95490698aa8c93fef3afec4367571
Author: Mark Michelson <mmichelson at digium.com>
Date: Fri Jun 24 17:45:32 2011 -0500
Add comment as suggested on CR-ASTSCF-113
diff --git a/Bridge_SessionListener.py b/Bridge_SessionListener.py
index edf35d3..0621d3a 100755
--- a/Bridge_SessionListener.py
+++ b/Bridge_SessionListener.py
@@ -197,6 +197,10 @@ class ListenerApp(Ice.Application):
return 0
def interruptCallback(self, sig):
+ # Ideally, we would keep track of all sessions and bridges we
+ # currently set up as listeners on and remove ourselves as listeners.
+ # For the sake of clarity and efficiency, we simply remove ourselves
+ # as a default bridge listener and a bridge manager listener.
print "Removing ourself as a default bridge listener"
try:
self.bridgeManager.removeDefaultBridgeListener(self.bridgeListenerPrx)
commit 379116368a81d03afdaa7e6b213abfc141750b44
Author: Mark Michelson <mmichelson at digium.com>
Date: Fri Jun 24 15:54:19 2011 -0500
Make the service locator proxy a command line argument.
As suggested in CR-ASTSCF-113
diff --git a/Bridge_SessionListener.py b/Bridge_SessionListener.py
index 3ba9067..edf35d3 100755
--- a/Bridge_SessionListener.py
+++ b/Bridge_SessionListener.py
@@ -16,7 +16,7 @@
# at the top of the source tree.
#
-import Ice, os, sys
+import Ice, os, sys, getopt
Ice.loadSlice("-I" + Ice.getSliceDir() + " -I" + os.environ["ASTSCF_HOME"] + " --all " + os.environ["ASTSCF_HOME"] + "/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice")
@@ -86,9 +86,36 @@ class BridgeManagerListener(AsteriskSCF.SessionCommunications.V1.BridgeManagerLi
self.adapter.remove(self.communicator().stringToIdentity(BridgeManagerListenerId))
class ListenerApp(Ice.Application):
+ def usage(self):
+ print "Usage: " + self.appName()
+ print "Listen to all sessions and bridges"
+ print ""
+ print "Options:"
+ print "-h, --help Display help information"
+ print "-l, --locator=PROXY Use specified proxy for Service locator"
+ print " Default: 'LocatorService:tcp -p 4411"
+
def run(self, args):
- print "Starting " + sys.argv[0]
+ try:
+ opts, arguments = getopt.getopt(args[1:], "hl:", ["help", "locator="])
+ except getopt.GetoptError, err:
+ print str(err)
+ self.usage()
+ return -1
+
+ # The default value for the service locator is to assume it's running
+ # on the same machine on port 4411
+ serviceLocatorString = "LocatorService:tcp -p 4411"
+
+ for o, a in opts:
+ if o in ("-h", "--help"):
+ self.usage()
+ return -1
+ if o in ("-l", "--locator"):
+ serviceLocatorString = a
+
+ print "Starting " + self.appName()
# First thing we're going to do is create an object adapter.
adapter = self.communicator().createObjectAdapterWithEndpoints("ExampleListener", "default")
@@ -115,7 +142,7 @@ class ListenerApp(Ice.Application):
# Now we need to find the bridge manager. We use the service locator for this.
# First, we get a proxy to the service locator.
- serviceLocator = AsteriskSCF.Core.Discovery.V1.ServiceLocatorPrx.checkedCast(self.communicator().stringToProxy("LocatorService:tcp -p 4411"))
+ serviceLocator = AsteriskSCF.Core.Discovery.V1.ServiceLocatorPrx.checkedCast(self.communicator().stringToProxy(serviceLocatorString))
if not serviceLocator:
print "Couldn't get the service locator"
commit ec3f700b76bc50eb45b91269f0c92497e11de1bc
Author: Mark Michelson <mmichelson at digium.com>
Date: Fri Jun 24 15:39:39 2011 -0500
Make adjustments based on comments on CR-ASTSCF-113.
* Check the result of the checkedCast of the BridgeManager
* Use addWithUUID when adding the BridgeManagerListener and
BridgeListener to our object adapter
diff --git a/Bridge_SessionListener.py b/Bridge_SessionListener.py
index def0b16..3ba9067 100755
--- a/Bridge_SessionListener.py
+++ b/Bridge_SessionListener.py
@@ -55,8 +55,6 @@ class SessionListener(AsteriskSCF.SessionCommunications.V1.SessionListener):
if isinstance(event, AsteriskSCF.SessionCommunications.V1.ProgressIndication):
print "Session %s received Progress indication: %d" % (source.ice_getIdentity().name, event.response.isdnCode)
-BridgeListenerID = "BridgeListener"
-
class BridgeListener(AsteriskSCF.SessionCommunications.V1.BridgeListener):
def __init__(self, adapter):
self.adapter = adapter
@@ -69,14 +67,13 @@ class BridgeListener(AsteriskSCF.SessionCommunications.V1.BridgeListener):
except Ice.Exception as ex:
print "Exception caught while attempting to add ourself as a SessionListener: " + ex.what()
def sessionsRemoved(self, sessionBridge, sessions, current = None):
- print "Sessions removed from bridge %s" % (sessionBridge.ice_getIdentity().name)
+ for s in sessions:
+ print "Session %s removed from bridge %s" % (s.ice_getIdentity().name, sessionBridge.ice_getIdentity().name)
def stopped(self, sessionBridge, current = None):
print "Bridge %s stopped" % (sessionBridge.ice_getIdentity().name)
def stopping(self, sessionBridge, current = None):
print "Bridge %s stopping" % (sessionBridge.ice_getIdentity().name)
-BridgeManagerListenerID = "BridgeManagerListener"
-
class BridgeManagerListener(AsteriskSCF.SessionCommunications.V1.BridgeManagerListener):
def __init__(self, adapter):
self.adapter = adapter
@@ -99,12 +96,17 @@ class ListenerApp(Ice.Application):
# Now we add instances of our listeners to the object adapter. This will allow
# us to create proxies to the objects when we want to add ourself as a listener
# to sessions, bridges, etc.
- adapter.add(BridgeManagerListener(adapter), self.communicator().stringToIdentity(BridgeManagerListenerID))
+ bridgeManagerListenerObjPrx = adapter.addWithUUID(BridgeManagerListener(adapter))
print "Added BridgeManagerListener to our object adapter"
- adapter.add(BridgeListener(adapter), self.communicator().stringToIdentity(BridgeListenerID))
+ bridgeListenerObjPrx = adapter.addWithUUID(BridgeListener(adapter))
print "Added BridgeListener to our object adapter"
+ # Unlike with the BridgeManagerListener and BridgeListener, we specify an ID
+ # for the SessionListener. This is because we will be retrieving this object using
+ # its ID later. We don't technically *have* to do this. We could pass the Object
+ # proxy returned by adapter.add() to the constructor of the BridgeListener for future use,
+ # but for demonstration purposes, we'll do things this way.
adapter.add(SessionListener(adapter), self.communicator().stringToIdentity(SessionListenerID))
print "Added SessionListener to our object adapter"
@@ -131,10 +133,14 @@ class ListenerApp(Ice.Application):
print "Exception while attempting to locate BridgeManager: " + ex.what()
self.bridgeManager = AsteriskSCF.SessionCommunications.V1.BridgeManagerPrx.checkedCast(service)
+ if not self.bridgeManager:
+ print "Couldn't get the bridge manager"
+ return -1
+
print "Acquired proxy to the BridgeManager"
# We add ourself as a listener to the bridge manager.
- self.bridgeManagerListenerPrx = AsteriskSCF.SessionCommunications.V1.BridgeManagerListenerPrx.uncheckedCast(adapter.createDirectProxy(self.communicator().stringToIdentity(BridgeManagerListenerID)))
+ self.bridgeManagerListenerPrx = AsteriskSCF.SessionCommunications.V1.BridgeManagerListenerPrx.uncheckedCast(bridgeManagerListenerObjPrx)
try:
self.bridgeManager.addListener(self.bridgeManagerListenerPrx)
except Ice.Exception as ex:
@@ -144,7 +150,7 @@ class ListenerApp(Ice.Application):
# We also add ourself as a default bridge listener. This means that we will automatically
# have ourself added as a listener to any bridge that gets created.
- self.bridgeListenerPrx = AsteriskSCF.SessionCommunications.V1.BridgeListenerPrx.uncheckedCast(adapter.createDirectProxy(self.communicator().stringToIdentity(BridgeListenerID)))
+ self.bridgeListenerPrx = AsteriskSCF.SessionCommunications.V1.BridgeListenerPrx.uncheckedCast(bridgeListenerObjPrx)
try:
self.bridgeManager.addDefaultBridgeListener(self.bridgeListenerPrx)
except Ice.Exception as ex:
commit effb3b18afe57134efeafd90818add85b99f0af7
Author: Mark Michelson <mmichelson at digium.com>
Date: Fri Jun 24 11:44:28 2011 -0500
Add COPYING and LICENSE files, and add licensing boilerplate to README.txt
diff --git a/COPYING.txt b/COPYING.txt
new file mode 100644
index 0000000..cf87abb
--- /dev/null
+++ b/COPYING.txt
@@ -0,0 +1,340 @@
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
... 615 lines suppressed ...
--
asterisk-scf/integration/examples.git
More information about the asterisk-scf-commits
mailing list