The initial purpose of the USP Controller is to allow USP agent validation and can be expanded to further use cases as required
Sample Response
root@RaspberryPi-Gateway:~# /usr/bin/UspPa -p -v 4 -r usp_factory_reset.conf
DATABASE_Init: Opening database /nvram/usp-pa.db
LoadClientCert: Not using a device certificate for connections
Attempting to connect to host=52.39.213.228 (port=61613, unencrypted) from interface=any
Connected to 52.39.213.228 (host=52.39.213.228, port=61613) from interface=erouter0
Sending STOMP frame to (host=52.39.213.228, port=61613)
STOMP
accept-version:1.2
host:/
heart-beat:30000,300000
endpoint-id:oui\cFFFFFF\c000000007a05a294
login:incognitoamq
passcode:
Received CONNECTED frame from (host=52.39.213.228, port=61613)
CONNECTED
version:1.2
session:78053096
server:ActiveMQ-Artemis/2.19.1 ActiveMQ Artemis Messaging Engine
heart-beat:300000,30000
Sending SUBSCRIBE frame to (host=52.39.213.228, port=61613)
SUBSCRIBE
id:0
destination:/exchange/usp-agents/oui-FFFFFF-000000007a05a294
ack:auto
Received 1 heartbeats at time 1665729742
Sending NotifyRequest (Event for path=Device.LocalAgent.Subscription.1)
Retrying sending notification (retry_count=1) in 7 seconds.
NOTIFY sending at time 2022-10-14T06:42:31Z, to host 52.39.213.228 over STOMP
to_id=oui:84C8B1:001
from_id=oui:FFFFFF:000000007a05a294
SEND
content-length:86818
content-type:application/vnd.bbf.usp.msg
usp-err-id:oui\c84C8B1\c001/Event-2022-10-14T06\c42\c31Z-1
reply-to-dest:/exchange/usp-agents/oui-FFFFFF-000000007a05a294
destination:/queue/controllerlistener
version: "1.1"
to_id: "oui:84C8B1:001"
from_id: "oui:FFFFFF:000000007a05a294"
payload_security: PLAINTEXT
no_session_context {
}
header {
msg_id: "Event-2022-10-14T06:42:31Z-1"
msg_type: NOTIFY
}
body {
request {
notify {
subscription_id: "default-boot-event-ACS"
send_resp: true
event {
obj_path: "Device."
event_name: "Boot!"
params {
key: "CommandKey"
value: ""
}
params {
key: "Cause"
value: "LocalReboot"
}
params {
key: "FirmwareUpdated"
value: "false"
}
params {
key: "ParameterMap"
value: "{"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Table.1.SecurityName":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Table.1.SecurityNumber":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Table.2.SecurityName":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Table.2.SecurityNumber":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Table.3.SecurityName":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Table.3.SecurityNumber":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Table.4.SecurityName":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Table.4.SecurityNumber":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Table.5.SecurityName":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Table.5.SecurityNumber":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.RFCUpdateDone":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.Enabled":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.KickstartTotal":0,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Snmpv3DHKickstart.TableNumberOfEntries":5,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.HomeNetworkIsolation":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.ContainerSupport":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.XfinityHealthCheck":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.CodebigSupport":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Xupnp":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.WebUIRemoteMgtOption.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.WebUI.Enable":"Enable","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.MocaAccountIsolation.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.WMMdownstreamMap.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.WifiClient.ActiveMeasurements.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.WPA3_Personal_Transition.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.ErrorsReceived.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.CRL.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.CRL.DirectOCSP":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.OnboardingLogging.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.CredDwnld.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.CredDwnld.Use":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.DLCaStore.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SHORTS.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Telemetry.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Telemetry.ConfigURL":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Telemetry.Version":"1","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Telemetry.MessageBusSource.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.Telemetry.MTLS.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SoftwareProcessManager.SelfHeal.AggressiveInterval":0,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.UPnP.Refactor.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.UPnPxPKI.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PresenceDetect.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.BlockLostandFoundInternet.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.CodeBigFirst.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SSIDPSWDCTRL.SnmpEnable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SSIDPSWDCTRL.Tr069Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.OAUTH.AuthMode":"potd","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.OAUTH.ServerUrl":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.EncryptCloudUpload.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.UploadLogsOnUnscheduledReboot.Disable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.MEMSWAP.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SyndicationFlowControl.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SyndicationFlowControl.InitialForwardedMark":"cs0","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SyndicationFlowControl.InitialOutputMark":"af22","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.EasyConnect.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.EasyConnect.EnableAPISecurity":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.DFS.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.DFSatBootUp.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.RBUS.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.WANLinkHeal.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SNMP.V3Support":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SNMP.V2Support":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SNMP.RestartMaintenanceEnable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.TDK.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.collectd.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.DNSStrictOrder.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.ShortsDL.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.FWUpdate.AutoExcluded.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.FWUpdate.AutoExcluded.XconfUrl":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.RDKFirmwareUpgrader.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PeriodicFWCheck.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AllowOpenPorts.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.BLE.Discovery":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.BLE.PeriodicBeacon.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.BLE.PeriodicBeacon.frequency":2,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.BLE.Tile.ReportingURL":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.BLE.Tile.ReportingInterval":0,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.IPv6subPrefix.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.IPv6onLnF.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.IPv6onXHS.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.IPv6onPOD.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.IPv6onMoCA.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.EvoStream_DirectConnect.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.TelemetryEndpoint.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.TelemetryEndpoint.URL":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AccountInfo.AccountID":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.CDLDM.CDLModuleUrl":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.WiFi-PSM-DB.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.UniqueTelemetryId.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.UniqueTelemetryId.TagString":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.UniqueTelemetryId.TimingInterval":0,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.ManageableNotification.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.TR069support.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.newNTP.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SecureWebUI.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.SecureWebUI.LocalFqdn":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.UseXPKI.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.LnFUseXPKI.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.CrashUpload.S3SigningUrl":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.MTLS.mTlsLogUpload.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.MTLS.mTlsCrashdumpUpload.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.NonRootSupport.ApparmorBlocklist":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.NonRootSupport.Blocklist":"No blocklisted process","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AutoReboot.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AutoReboot.UpTime":120,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AvoidUnNecesaryXDNSretries.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.RabidFramework.MemoryLimit":0,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.RabidFramework.MacCacheSize":0,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.RabidFramework.DNSCacheSize":0,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AdvancedParentalControl.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.PrivacyProtection.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.DeviceFingerPrintICMPv6.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.WS-Discovery_Analysis.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AdvancedSecurityOTM.Enable":true,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AdvSecAgentRaptr.Enable":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Control.RetrieveNow":0,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Control.XconfSelector":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Control.XconfUrl":"","Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Control.ClearDB":false,"Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Control.ClearDBEnd":false,"Device.DeviceInfo.ProcessStatus.Process.1.PID":1,"Device.DeviceInfo.ProcessStatus.Process.1.Command":"systemd","Device.DeviceInfo.ProcessStatus.Process.1.Size":25252,"Device.DeviceInfo.ProcessStatus.Process.1.Priority":20,"Device.DeviceInfo.ProcessStatus.Process.1.CPUTime":8730,"Device.DeviceInfo.ProcessStatus.Process.1.State":"Sleeping","Device.DeviceInfo.ProcessStatus.Process.2.PID":2,"Device.DeviceInfo.ProcessStatus.Process.2.Command":"kthreadd","Device.DeviceInfo.ProcessStatus.Process.2.Size":0,"Device.DeviceInfo.ProcessStatus.Process.2.Priority":20,"Device.DeviceInfo.ProcessStatus.Process.2.CPUTime":10,"Device.DeviceInfo.ProcessStatus.Process.2.State":"Sleeping","Device.DeviceInfo.ProcessStatus.Process.3.PID":3,"Device.DeviceInfo.ProcessStatus.Process.3.Command":"rcu_gp","Device.DeviceI
...[truncated]...
}
}
}
}
}
Message received at time 2022-10-14T06:42:32Z, from host 52.39.213.228 over STOMP
MESSAGE
subscription:0
content-length:118
message-id:131613664
destination:/exchange/usp-agents/oui-FFFFFF-000000007a05a294
expires:0
redelivered:false
priority:4
persistent:false
timestamp:1665729752211
content-type:application/vnd.bbf.usp.msg
reply-to-dest:/queue/controllerlistener/session
Received 1 heartbeats at time 1665729752
version: "1.1"
to_id: "oui:FFFFFF:000000007a05a294"
from_id: "oui:84C8B1:001"
payload_security: PLAINTEXT
no_session_context {
}
header {
msg_id: "Event-2022-10-14T06:42:31Z-1"
msg_type: NOTIFY_RESP
}
body {
response {
notify_resp {
subscription_id: "default-boot-event-ACS"
}
}
}
NOTIFY_RESP : processing at time 2022-10-14T06:42:32Z
SUBS_RETRY_Remove: Removing Notification retry for msg_id=Event-2022-10-14T06:42:31Z-1 (NotifyResponse received)
Sending heartbeat at time 1665729781
Command to retrieve the parameters of the database. The usp_factory_reset.conf file should be configured with the valid entries for the database file.
/usr/bin/UspPa -c show database
21 Comments
Unknown User (jpginocchio)
Hi Unknown User (liam.clark)
We are trying to connect our Raspberry3 with RDK sw (repo init -u https://code.rdkcentral.com/r/manifests -b dunfell -m rdkb-extsrc.xml), and We cannot see the device from Incognito front end (http://54.148.37.189:8088/acs/).
Before to compile the RPI image we have modificated the factory reset (/rpi3/meta-rdk-broadband/recipes-rdkb/usp-pa/usp-pa/conf/usp_factory_reset.conf) as you comment on this page.-
Could you help us to know where the problem is? and Is it possible to get some logs from the Incongnito front end?
BR
Juan Pablo
Unknown User (liam.clark)
Unknown User (jpginocchio) Can you send me an email at liam.clark@incognito.com and I can help you resolve the issue.
Thanks,
Liam
Tang Heming
Hello @Z-Liam Clark Unknown User (hau.hsiao)
I'm very interesting in the testing environment.
Could you please help to introduce something about the USP controller? What's software name of the USP controller in your lab?
Is there any wiki or documentation on how to setup?
Thank you very much!
Hau Hsiao
The USP controller is called "Incognito USP Service" and is part of our Digital Experience product line.
There are installation documentations on our support site but it is a paid product.
We provided the testing environment to the RDK group as proof of concept free of charge but if you would like to install it on your own environment then you would need to negotiate a license with Incognito Software.
If you are interested in a license please email me at hau.hsiao@incognito.com and I will put you in contact with our sales team
Tang Heming
Thank you very much for your shared information Unknown User (hau.hsiao)
Can you please help to give more detail about "We provided the testing environment to the RDK group as proof of concept free of charge"?
We will double check whether this testing environment is enough for us.
What's more, do you know is there any opensource UPS Controller simulator?
thank you!
Hau Hsiao
please send me an email and I will give you connection info for STOMP / MQTT broker and the UI login username and password
Tang Heming
Thank you Unknown User (hau.hsiao) mail sent to you just now.
Hau Hsiao
Note: the broker username and password has been updated to the following (not sure how to edit wiki entry or if it's just me unable to edit entry)
Device.STOMP.Connection.1.Username "incognitoamq"
Device.STOMP.Connection.1.Password "_QuUeL+Cjj8tt7#-"
Richard Holme
Page updated.
Wilson Liu
We are trying to connect our RDK sw (2022q4_dunfell) to USP Controller , and We cannot find the object of Device.WiFi. it showes
/usr/bin/UspPa -c add "Device.WiFi"
DM_PRIV_GetNodeFromPath: Path is invalid: Device.WiFi/UspPa -c add "Device.WiFi"
CheckPathProperties: Path (Device.WiFi) does not exist in the schema
Does any one have idea? I have seen some files (usp_dm_comps.conf, usp_dm_params.conf, usp_dm_objs.conf ) seem related.
Richard Holme
The *.conf files act as a filter between the data model that is exposed on R-Bus/CCSP and the data model that is exposed by UspPa. So these files mustn't contain Device.WiFi in your case. The simplest thing to do is to delete out the *.conf files and reboot. UspPa will automatically discover the data model on R-Bus/CCSP and populate the *.conf files. It takes a while to do this at startup (less than a minute). You could then manually edit the conf files to remove any objects/pararameters which you don't want to expose over USP, or manually add any which are missing (it can only discover parameters of table objects if there as some instances in the table).
Please see Including UspPa in a device section Troubleshooting: CCSP_ERR_INVALID_PARAMETER_NAME
Wilson Liu
Thanks a lot!
Hau Hsiao
the sample config
needs to be updated to
as we updated controller to validate endpointID more strictly in newest release
some supported valid formats are
os::{oui}-{serial}
oui:{oui}:{serial}
Richard Holme
Thanks Hau. Hopefully I've modified all of the references in the factory reset settings and in the sample response log file. Please say, if you spot any that I've missed.
Chandrakanth Pokuru
Hello Unknown User (hau.hsiao) ,do we need to change the entry for destination below
current:
Device.LocalAgent.MTP.1.STOMP.Destination "oui-FFFFFF-10000000bf21053d"
updated
Device.LocalAgent.MTP.1.STOMP.Destination "oui:FFFFFF:10000000bf21053d"
Hau Hsiao
oui-FFFFFF-10000000bf21053d should be the correct one
Chandrakanth Pokuru
Thanks Hau
Hau Hsiao
Unknown User (richard.holme) can you change this line
Note: Change any references of 84C8B1 to the OUI, and any references of 42010A8A0FF0 to the SerialNumber of the device
to
Note: Change any references of 84C8B1 to the OUI, and any references of 42010A8A0FF0 to the SerialNumber of the device except
Richard Holme
Changed the example Device's OUI to FFFFFF, as that seemed to match the Sample Response log.
Jhuli Takahara
Hi Unknown User (richard.holme) hope you are doing well.
At the contact, could you update the contact from Hau to mine? jhuli.takahara@incognito.com
Thanks a lot,
Jhuli
Richard Holme
Done