Technically one DicomServer instance can only listen to one port. There fore you have to start multiple DicomServers, one for each port. But of yourse you can use the same DicomService-implementation.
Assume you have a class called `MyDicomService : DicomService : IDicomServiceProvider, IDicomCStoreProvider, ..` then you create several identical servers on different ports:
` var servers = new List<IDicomServer>();
foreach (int port in _portsToListen) {
servers.add(DicomServer.Create<MyDicomService>(port, options, ....);
};'
and of course later then when stopping
' foreach (var server in servers) server.Stop(); `
As far as AETitle is concerned: fo-dicom does not filter for AETitle out of the box. When your DicomService implements `IDicomServiceProvider`, then you have to implement the method `Task OnReceiveAssociationRequestAsync(DicomAssociation association)`. There you usually check for `association.CalledAE` and call either `return SendAssociationRecjectAsync(..)` or `return SendAssociationAcceptAsync(..)`. There it is up to you how many AETitles you accept, or if you accept all CalledAEtitles or if you use different Configuration (like storepath) per CallingAETitle etc..