Alert EnterpriseWiki

AMAG Symmetry SMS

AMAG Technology·AE_HSc_AMAGConnectorGuide

PACSactiveAMAG Symmetry SMS 8.0, 8.1, 9.0, 9.1, 9.4, 9.6
Transports
soap · jdbc
Direction
bidirectional
Authentication
SMS XML API basic auth (SOAP/WSSE) +1
Topology
on-prem

Overview

The AMAG connector integrates AlertEnterprise Guardian with AMAG Symmetry Security Management System (SMS) — AMAG Technology's on-prem enterprise PACS suite. AMAG Symmetry is one of the most widely deployed enterprise PACS in financial services, federal, and critical infrastructure verticals.

This connector uses a hybrid transport architecture. Provisioning and most reconciliation operations go through the AMAG SMS XML API — a SOAP/ASMX web service typically reachable at http://<sms-host>/smsXMLWebService/smsXMLWebService.asmx. For cardholder reconciliation (which the SMS XML API does not support) the connector falls back to read-only JDBC directly against the AMAG SQL Server database, querying the multiMAX and multiMaxExport schemas. Initial cutover / bulk sync also flows over the JDBC path.

The connector ships as ALNTAMAGConnector-5.0-SNAPSHOT.jar and registers the com.alnt.amag.provisioning.services.AmagConnectionInterface extractor class. This is the current AMAG connector (direct-SOAP, no .NET intermediary) — for the older architecture that routed SOAP through an Alert SMS Web Service Client on IIS, see amag-legacy. For Symmetry Mobile credentials (a separate AMAG product), see amag-symmetry-mobile.

Architecture

Composed from this connector's actors + edges. Trust zones are color-coded; trust crossings render as thicker lines.

Composing diagram — running ELK layout6 actors · 6 edges

Authentication

2 methods supported

SMS XML API basic auth (SOAP/WSSE)
basic

The AMAG SMS XML API authenticates callers via WSSE/basic auth — a username + password configured in the AE connector. Incorrect credentials produce org.apache.cxf.binding.soap.SoapFault: Unknown Username or Incorrect Password.

Credential storage
Encrypted in AE connector configuration.
AMAG database (JDBC) credentials
basic

For cardholder reconciliation, the connector requires a separate database user with read access to the multiMAX and multiMaxExport schemas on AMAG's SQL Server backend. Driver Name + Database URL + Database User Name + Database Password are configured as System Parameters. See Chapter 6 of the connector guide for the minimum-privilege grant set.

Credential storage
Encrypted in AE connector configuration.

Endpoints

1 endpoint exercised by the connector

MethodPathDescriptionCategory
POST/smsXMLWebService/smsXMLWebService.asmxAMAG SMS XML API endpoint (SOAP). All provisioning + most reconciliation operations target this single ASMX endpoint with SOAP envelope payloads.provisioning

Prerequisites

Everything that must be in place for this connector to work, with the owner who's responsible.

AMAG SMS deployed and reachable

customer

An AMAG Symmetry SMS deployment (version 8.0-9.6) with the XML Open Integration Module installed and configured. The SMS XML API must be reachable from the AE application server.

Data Connector Module license on AMAG

customer

The AMAG system must have a Data Connector Module license for the SMS application to write changes into the export database (multiMaxExport). Without this license, cardholder reconciliation (the JDBC path) will not see changes.

Read-only JDBC user on AMAG SQL Server

customer

A dedicated read-only database user with SELECT privileges on the multiMAX.dbo and multiMaxExport.dbo schemas — specifically tables CardHolderTable, CardInfoTable, CardHolderFaceTable, AccessGroupTable, CardHolderAccessGroupXrTable, CardHolderAccessXrTable, ReaderTable, IntrusionZoneTable, AccessGroupReaderXrTable, AccessGroupReaderGroupXrTable, ReaderGroupXrTable, FloorGroupTable, AccessGroupFloorGroupXrTable, IntrusionAreaZoneXrTable, AccessGroupAreaXrTable, and DataExportTable.

SSL certificate trust (if HTTPS)

ae

When the SMS XML API is served over HTTPS, the AMAG SMS server's certificate must be imported into the AE host's JVM cacerts keystore. The connector raises javax.net.ssl.SSLHandshakeException / "Unable to find valid certification path to requested target" when the cert isn't trusted.

Known limitations

Documented constraints to set customer expectations before deployment.

Cardholder reconciliation requires direct DB access

important

The AMAG SMS XML API does not expose cardholder reconciliation operations. AE works around this by issuing read-only JDBC queries directly against the AMAG SQL Server backend. Customers with strict policies against third-party direct-DB access must understand this is a hard architectural requirement, not a configurable behavior — Symmetry simply does not provide an API alternative for this operation.

CardFormat is mandatory for every provisioning operation

important

Every user and badge provisioning operation must include a CardFormat value from the closed set (SeiwgV1, SeiwgGSC2_1, SRSeries_10And12Digit, SRSeries_15Digit, Standard). Provisioning without CardFormat will fail at AMAG-side validation.

Provisioning error codes returned via DB table, not API

informational

Provisioning errors from AMAG are surfaced via the multimaximport.dbo.messagetable table — not in the SOAP response. Codes include 2 (mandatory fields not specified), 4 (record not found), 8 (card already exists), 9 (issue level out of range), 10 (PIN out of range), 14 (expiry before active), 16/17 (face/signature image not found). Operators must monitor this table separately to surface async errors.

Data fields

23 fields mapped between AE Guardian and the vendor system.

AE fieldVendor fieldDescriptionDirectionRequired
UserIdEmpReferenceMaps to `CardHolderTable.EmployeeNumber` (alias EmpReference in queries).bidirectionalyes
FirstNameFirstNamebidirectionalyes
LastNameLastNamebidirectionalyes
MidnameMiddleNamebidirectionalno
CompanyIDCompanyIDbidirectionalyes
BadgeIdCardNumberMaps to `CardInfoTable.CardNumberDisplay`.bidirectionalyes
BadgeValidFromActiveDateISO datetime → AMAG `ActiveDateTime`.bidirectionalyes
BadgeValidToExpiryDateISO datetime → AMAG `InactiveDateTime`.bidirectionalyes
BadgeStatusCardStatus"Yes" = active card, "No" = inactive (sourced from `CardInfoTable.Inactive`).bidirectionalyes
UserStatusCardHolderStatus"Yes" = active user, "No" = inactive (sourced from `CardInfoTable.ForcedInactive`).bidirectionalyes
CardFormatCardFormatAMAG card-format identifier. Possible values: `SeiwgV1`, `SeiwgGSC2_1`, `SRSeries_10And12Digit`, `SRSeries_15Digit`, `Standard`. Mandatory for all user and badge provisioning operations. bidirectionalyes
CustomerCodeCustomerCodeMaps to `CustomerCodeNumber` in AMAG.bidirectionalyes
PINPINoutboundno
AgencyCodeAgencyCodebidirectionalno
CardIssueLevelCardIssueLevelbidirectionalno
IDSCodeIDSCodebidirectionalno
ImageUploadFaceImageCardholder face image — maps to `CardHolderFaceTable.Face`.outboundno
SignatureUploadSignatureImageoutboundno
PersonalData1PersonalData1AMAG supports PersonalData1 through PersonalData50 — site-defined custom attributes. Each maps directly with the same name.bidirectionalno
RoleNameAccessGroupNameMaps to `AccessGroupTable.AccessGroupName`. AMAG calls access levels "Access Groups."bidirectionalyes
RoleTypeRoleTypebidirectionalyes
TimecodeTimeCodeSchedule constraint that gates an access group.bidirectionalno
BadgeDesignBadgeDesignoutboundno

PACS specifics

Cardholder model

AMAG models cardholders in multiMAX.dbo.CardHolderTable (CardID, EmployeeNumber, FirstName, LastName, MiddleName, ForcedInactive status). Cards live in CardInfoTable (CardNumberDisplay, Inactive, Lost, ActiveDateTime, InactiveDateTime, CustomerCodeNumber). Each cardholder may have one or more cards. Photos in CardHolderFaceTable. PersonalData1-50 are site-defined custom attributes.

Access rights model

Access is granted by assigning a cardholder to one or more Access Groups (AMAG's term for access levels). Access Groups are composed of Readers (AccessGroupReaderXrTable), Reader Groups (AccessGroupReaderGroupXrTable), Floor Groups for elevator readers (AccessGroupFloorGroupXrTable), and Intrusion Areas (AccessGroupAreaXrTableIntrusionAreaZoneXrTableIntrusionZoneTable). Each access group can be gated by a TimeCode (schedule).

Multi-tenancy

A single AMAG SMS instance is typically a single tenant. Multi-site customers running federated SMS instances require one AE→AMAG connector per SMS instance.

Topology + Events
Topology
on-prem
Event model
polling
Anti-passback
unknown
Holiday schedules
unknown
Card formats
SeiwgV1SeiwgGSC2_1SRSeries_10And12DigitSRSeries_15DigitStandard
Source materials
  • src/connectors/amag/source.pdf Full connector guide — 28 pages, revision 3.0 dated 2025-12-24
  • src/connectors/amag/source.pdf p6 — Supported Version
  • src/connectors/amag/source.pdf p8 — Connector Architecture
Verifying access
Desktop only

The AE Mobile Wiki needs a bigger screen.

The diagrams, comparisons, and animated flows aren't built for phones. Open this link on your laptop or desktop browser and you'll see the full reference.

wiki.alertenterprise.app

Same Google sign-in as the AE App Hub — you'll be in once you open it on a larger screen.