What is WSM Buffer in Data Power - ibm-datapower

What is WSM Buffer in IBM DataPower's context?
As per my understanding, WSM Buffer is used to monitor incoming requests in DataPower. The statistics for all incoming requests such as 'completed records', 'pending records' etc are captured in 'WSM Agent Status' in DataPower.
Can you please provide a detailed description of WSM Buffer and how does it help in logging and monitoring?

A WSM buffer is relatively easy to configure setting in datapower XI52. You need to enable it like following:
Use the DataPower Web Interface
Navigate to Object > Device Management
Enable data retention in the WSM buffer
Select XML Management Interface
Check the WS-Management Endpoint checkbox
Click Apply
Choose to retain data when data collection is stopped
Select Web Services Management Agent
Select Buffering Mode = Buffer
Click Apply
Then you need to use products like ITCAM for SOA which have capability to read WSM buffer and make sense out of it. You need to configure ITCAM for SOA for it. Once done you can test your WSM buffer configuration like below:
Send four requests to your DataPower device
Check the WSM buffer
1.Choose Status > Web Service > WSM Agent Status
2. Status is 4 (for example) records seen, 4 (for example) complete records
Parameters have following meaning
a.) Records seen: total lost + complete
b.) Records lost: discarded when the buffer was full
c.) Complete records: ready for data collection
d.) Pending records: requests awaiting a server response
See if it helps you !

Related

Pulling only Registration Contact information on Asterisk

I am not using real-time asterisk , But still astdb.sqlite3 contains entries of online peers with Reg.Contact information in SIP/registry/peer. key . I would like to store contact information of all peers as they come online in a separate persistent database. I need this for sending push notifications by fetching deviceID etc information in registration contact .
I tried to pull this information from astdb.sqlite3 but the entries are clearing off as soon as devices go offline .Though I am able to fetch the information with "sip show peer XXXX" in asterisk CLI , It is overburdened to fetch every time like this . Instead I want to save only Regcontact information for all the devices in a database ( without realtime) as the devices come online. The other way I tried to pull the information is using AMI event listener. But with AMI I don't see complete information like contact information It displays only below information
Event: PeerStatus
Privilege: system,all
SequenceNumber: 75
File: manager.c
Line: 1856
Func: manager_default_msg_cb
ChannelType: SIP
Peer: SIP/2030
PeerStatus: Reachable
Can someone suggest a better way to push Only Regcontact information to a database as the devices come online .
There are no mechanism like that in asterisk.
You can use kamailio or write patch similar to this one https://reviewboard.asterisk.org/r/4490/
It sounds like you have dynamic IPs for your endpoints, and you want a way to update a separate DB as soon as a device registers with an IP/port pair.
If you enable the security log, you will see all auth events, including the "SuccessfulAuth" event, which includes the RemoteAddress of the endpoint (including port and protocol).
Here is an example line:
[Jul 21 19:53:45] SECURITY[1342] res_security_log.c: SecurityEvent="SuccessfulAuth",EventTV="2020-07-21T19:53:45.182+0000",Severity="Informational",Service="SIP",EventVersion="1",AccountID="102",SessionID="0x7f41040132c0",LocalAddress="IPV4/UDP/10.0.0.200/5060",RemoteAddress="IPV4/UDP/10.0.0.75/5062",UsingPassword="1"
If all you're looking for is AccountID="102" and RemoteAddress="IPV4/UDP/10.0.0.75/5062", a very fast/cheap way to get it is to enable the security log, and use a script to tail it and update your DB as soon as the event occurs. I like to keep the security log on anyways for utilities like fail2ban. Just make sure your script is able to reopen the file each time it is rotated.
Edit:
By default the log is in /var/log/asterisk. To enable it, edit /etc/asterisk/logger.conf and un-comment (or create) the line under [logfiles] that says security => security.

B2B transaction meta data to database

Using soap input we can query b2b metadata .
Sample query:
I want response of above to checked at Datapower regularly and sent to MQ Queue or soap node of broker...
Want to log complete b2b transactions meta data to database once response pass to Mq queue or soap node of broker it is easy to log to database.
But how get the response for every transaction in B2B Transaction viewer..
You'll have to set up Processing Policies for your partners (both Internal and External) where you dump out data.
If you need to add AS2/ebMS MDN's you can grab those in the Response rule (Server to Client).
If you need the final AS2/MDN envelopes you need to proxy the messages through a XML Firewall or MPGW as you won't get the final envelopes otherwise...

Microsoft AX Dynamics Process Integration through Outbound Ports

I would like to know the Process Integration steps.
Through Outbound ports
If any of the event occurs at AX Dynamics, we just want to know that events in the form of XML(Process Integration).
Example: Sales Order Creation, Customer Creation, Purchase Order Creation..
Outbound ports are only useful for asynchronous communication.
See AX 2012 Export Data with Outbound ports for an example (using the file system).
The steps to initiate sending data is in the AIF_SendCustomer.
As this is no lightweight operation, you may consider logging the records which needs integration in a custom integration table, then doing the processing in batch.
This is done in the insert and/or update and maybe delete method.
Deletes requires you store the RecId field value in the external system to be used for delete requests. The following does not cover this.
For logged table make the following method:
void syncRecord()
{
XXXRecordLog log;
log.RefTableId = this.TableId;
log.RefRecId = this.RecId;
log.insert();
}
Then call this.syncRecord() in the insert and update methods.
In the query to the outbound service be sure to exists join your table and the log table. This way only changed records are exported.
Make a batch job to do the transfer using the AIF_SendCustomer as a template.
After a synchronous (AifSendMode::Sync) transfer of the records, delete the log records (or mark them transferred).
Finally call AIFoutboundProcessingService to flush the file:
new AIFoutboundProcessingService().run();
Try to keeps things simple. It might be simpler to do a comma file export of the changed records!

Biztalk EDI - View final outbound X12 interchange

I've been running Biztalk 2004 with the Covast EDI accelerator since 2004. I'm currently upgrading to Biztalk 2013 R2 and having difficulty viewing the final outbound interchange document for an X12 document. My final destination is an AS2EDISend port.
I can see the interchange information (sender/receiver/control ID) in the report "EDI Interchange and Correlated ACK status". I can see more information by viewing the "Interchange Status and ack Details" screen. I can view the transaction set. I can view the transaction set details and from there get the final transaction set (ST to SE segment) in raw ASCII format.
But I can't see the raw final outbound interchange complete with the ISA/GS segments.
I do have tracking turned on and when I look at the tracked message events, I can see receive/send events for the AS2EDI pipeline. When I look at the message on the receive event, it's the XML representation of the transaction set. When I look at the message on the send event, it's already been AS2 encoded and I'm unable to view the raw ASCII EDI file complete with ISA/GS segments.
Am I missing something? Is there somewhere else to look? Will I have to configure a secondary send port which only does EDISend and write to my filesystem and maintain/archive that information myself?
The ISA and GS segments will be promoted into the context of the message, as ISA_String and GS_String respectively. The individual segment values are also promoted as ISA01, ISA02, etc. and GS01, GS02, etc.
Since you're using AS2, I think the easiest solution would be to create a send port group, use your existing send port with AS2 in it, and another SendPort with EdiSend using the FILE adapter. Another option would be to add a custom pipeline component in the Encode stage that would archive the results from the EDI Assembler - which would be more efficient but more work as well.
if you simply want to see the interchange message for testing/develop propose, Put the send port to stop state, the message in this port will suspend. then you can view/save the message in admin console.
if you need a solution to "see" the interchange message in operation level. a second send port is an option.

Generating CDR records from CUCM 9.x

I followed the following link to output CDR records to my call logging server via sFTP : http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/service/9_1_1/car/CUCM_BK_C28A807A_00_cdr-analysis-reporting-admin-guide91_chapter_01.html
Both publisher and subscriber were configured to send data to the call logging server.
The call logging server received 19674 records from the Call Manager, but only 25 records are of CDR type and the rest are of CMR type.
From my experience, I would expect at much higher number of CDR type records. Additionally, there were certainly more than 25 calls were made/received on the CUCM extensions/gateways.
Are there any settings that need to be configured on the CUCM in order to generate the rest of CDRs? Should I configure only Publisher or only Subscriber to generate CDR? Is there a way of switching off CMR type records?
Assuming that CDRs are in fact enabled, You likely have a very long "CDR File Interval". You could set this to once a day, which would only send over one CDR a day (they'd be huge though).
Look here:
Callmanager -> Cisco Unified CM Administration -> System -> Enterprise Parameters
CDR File Time Interval - Set this to 1 minute (which is the default)
If you look under system parameters there is a "CDR Enable Flag" which is disabled by default. The CDR DB is updated across all systems so you do not need to setup the offload on multiple servers. The CMR records are records on call quality average jitter MOS scores etc and would be referenced by callid

Resources