ServiceGrid Article - Cisco ServiceGrid Release Notes V5.7
This Release Notes provides information about the new functions and features introduced with the new Cisco ServiceGrid Platform, version 5.7.
The functions described below are implemented with the Spring Release 2011 on March 20th.
Release Notes V5.7
This document describes the new functions of the Cisco ServiceGrid applications introduced with the Spring Release 2011, Version 5.7.
Additionally, the document also discusses about the following features:
- Outlines the new functions and module.
- Gives a brief look into how the new functions are implemented, administrated, and use.
- Describes the benefits of the new function in small use cases.
- Describes how existing functions are extended or change.
The following functions in the Spring 2011 Release (Version 5.7) are available on Sunday, the 20th of March 2011 to all customers using the Cisco ServiceGrid main platform (sdcall.solvedirect.com).
All customers running their own infrastructure (in house) or using a Cisco ServiceGrid partner infrastructure will have later release dates. Those updates occur after the update of the Cisco ServiceGrid main platform. Get the date of your update from your implementation partner.
Availability and licensing of new functions and modules
With the update, all new functions and modules are installed on the platforms.
New functions and modules, which are part of the general update, are available to all customers of the platform.
- Some functions are automatically available to all users.
- Some functions or modules need to be configured or activated first.
- Some of the new functions and modules may have to be licensed separately before being used in customized systems.
- Usability enhancements in SD.cockpit.
- Performance improvement of displaying the tree.
- No limitation for the number of folder levels.<span style="display: none;" id="1401882276011E" />
- Provide new web services using modern framework.
- Flexible attachment handling in the inbound and outbound messages.
- New feature Call Calendar.
- More functionality for customizing the CallDetail and CallHistory setups.
- Expand/Collapse function for field groups.
- Dependencies of extended fields.
New Features and Functionalities
Enhancements in MyCustomers/MyProviders
The changes in SD.basicdata > MyOrganisations, which started with the Release 5.6 is finalized in this release. Thease changes have gone online with Release 5.6.2.
With Release 5.6, the detail of an organization in SD.basicdata > MyProviders and SD.basicdata > MyCustomers are as follows:
For all the tree items in the box with full lines:
- The names of these items can be chosen.
- The items can be removed from the tree.
For all the tree items in the box with doted lines, a start setup for the lists can be set.
For administration of the tree go to:
SD.basicdata > MyCompany > [Company] > +Permissions > TreePermissions
Permissions for Tree
Permissions can be set for each permission group.
Permissions can be defined differently for MyCustomers and MyProviders.
When set to Hide (N) the item will not be shown in the tree. Users with a permission group that have only hide permissions set will not see this item in the MyOrganisations tree.
Permissions can be set to Read (R) or Write (W) for the following:
Permissions can be set to Rread (R) for the following:
Write permission gives full access to the available functions for the item concerned. For example, edit users.
Read permission provides access only in view mode.
To change the permissions click on the permission-group or one of the links Change ADM & SYS, Change all SUP, Change all SD, Change all EU.
The permissions of all groups within one permission type can be changed simultaneously.
Choose the preferred permissions from the drop-down lists.
Names for Tree items
Names are set once for each tree item. They are the same for all permission groups.
Names can be defined differently for MyCustomers and MyProviders.
When no name is set, the default names are used:
The names that are given are not translated. Only the default names are retained.
To change the names, click on one of the permission groups or one of the links Change ADM & SYS, Change all SUP, Change all SD, Change all EU.
Type the preferred names into the text field.
Start Setups for Lists
Start setups can be set for each permission group. Setups can be defined differently for MyCustomers and MyProviders.
Start Setups can be set for the following:
The Setups are of the following types:
The list will be displayed using the chosen setup when the corresponding tree link is clicked. Depending on the setup settings (HasSetupChoice), other setups are still available for the lists.
When no setup is chosen, the the default setup of the user is applied.
To change the start setups, click on the setups link below the tree item whos setup you want to change.
Choose the preferred start setups from the drop-down list.
Setups can only be chosen for permission groups with read or write permission. The drop-down list are deactivated for permission groups with hide permission.
On the overview of tree permissions the groups that have start setups are marked with an X.
To see the name of the start setup, hover the mouse cursor over the X.
The changed organization detail might look like the the following:
The following changes are visible:
- The Users tree item is shown with the name Members.
- The Locations tree item is shown with the name StorageSite.
- The locations list is opened with a set start setup.
- The Contracts tree item is not shown.
NOTE: The settings of the root company of the logged user are used, not the settings of the company the organization belongs to.
Integration of Cockpit
Since version 5.6, the MyCustomer or MyProvider view provides information about locations, users, contract, contract elements and calls of a customer or provider. With version 5.7, the MyCustomer/MyProvider view additionally provides the cockpit groups and elements of the organization.
The visible cockpit groups are restricted to those which have the following three permission settings:
- The selected customer or provider organization
- The permission group of the currently logged in user
- The organization of the currently logged in user
All other cockpit groups are not accessible. You can see only those elements of your cockpit that are additionally allowed for the selected customer or provider.
There is no possibility to create, change or delete cockpit elements or groups.
SD.dialog Show Link-Matrix
To get an overview of all Wiki Pages that are linked to a Cisco ServiceGrid entity, a new function Show Link-Matrix is created.
To get the matrix for the desired Wiki Space, follow these steps:
Step 1: Select the space through SD.dialog > WikiSpaces > [Name of the WikiSpace]
Step 2: Enter the overview where you can link Wiki pages to Cisco ServiceGrid entities.
At this page, you can see all Wiki pages that are available. By clicking on a page, you can add or remove entities to or from that page.
To take a look at the matrix, click on the top function Show Link-Matrix.
The following screenshot shows an example how the matrix can look like.
To improve the readability, each column has a group-by-filter. In the following screenshot, the previous matrix is grouped by the page name.
As with many linked wiki pages, this list will probably get unreadable, and an additional download functionality is provided.
The interface should be common to users from other lists that can be downloaded.
Default Password Policy
Default policy for new partners
Until now, creating a meaningful password policy was one of the tasks to be performed when connecting a new partner. However, it was one that was often left undone. In order to address this, a default policy is set when creating a new partner. Not having a proper password policy will cause some users to have a very weak password, which can be easily tracked by a malicious attacker.
Values of new policies
The default policy will use the following values:
- Password must contain at least six characters.
- No more than six wrong password attempts.
- The last three passwords must not be used again.
- Password will be valid for 90 days.
- The password must contain an uppercase letter.
- The password must contain a digit.
- Login name must not be a part of password.
Changing the password policy
Following are the rules while changing the password:
- Strict policies will cause users to write down or forget their passwords.
- Lenient policies will cause weak and easily crackable passwords.
In order to prevent too weak policies, when changing the password policy, a warning message will be displayed if only one part of the policy is weaker than the default policy.
Despite the warning, it is still possible to store the policy by clicking Save anyway.
When a password is changed, a password meter will be displayed near the password input field.
The meter will be displayed when a user changes the password by either selecting the My account tab or directly after logging in, when a password must be changed after the first login. It will also be displayed when an administrator changes the password for another person.
Algorithm for quality rating
The password rating algorithm first checks if the password satisfies the policy. If it does, a score indicating the strength of the password is calculated. The password will get points for certain criteria; all points are summed up to a password score, which is then mapped to one of the three categories: Weak, Good, and Strong.
The criteria are as as follows:
- Length: 3 points for 4 or less characters, six points for 5 to 7 characters, 12 points for 8 to 15 characters, and 18 points for 16 or more characters.
- Letters: 0 point for no letter, 5 points for only lower or only upper case letters, 7 points for lower and upper case letters.
- Digits: 0 point for no digit, 5 points for at least one digit, 7 points for 3 or more digits.
- Special Characters: 0 point for no special character, 5 points for at least one special character, 10 points for more than one special character.
1 point if password comprises mixed case letters.
1 point if password comprises letters and digits.
2 points if password comprises letters, digits, and special characters.
2 points if password comprises mixed case letters, digits, and special characters.
Password quality ratings
There are four password ratings:
- Too weak: The password does not fulfill the password policy and cannot be saved.
- Weak (score <= 30): A password that is very easy to guess.
- Good (score < 40): A password that is hard to guess, but there is still room for improvement.
- Strong (score >=40): The password can be considered safe.
Hide Customer Related Converters
From this release, no converters related to a specific customer will be visible in SD.commoncontent > communication > converters. Only converters available to all organizations will be visible.
Customer specific authentication method
With the release V5.7, it is possible that a customer specific login method can be used. If a special login method has been implemented by Cisco ServiceGrid, it can be customized which user should use this method.
The new field SpecialLoginMethod has been added to the user record. The name of the special login method has to be entered into this field, if such a special login method should be used by this user.
This field can be displayed in the user-list, can be downloaded and uploaded, and can be displayed and changed in the detail form of the user.
Assign manually sent mail to current history record
When an email is sent during the execution of a callaction, the email got assigned to an older version of the call. It will now be assigned to the currently created callhistory record instead of the previous callhistory record.
Dependencies for extended fields in CallDetail
With the release V5.7, you can define dependencies between extended fields in call detail. Fields and values in the following section mean TableExtensionFields and TableExtensionFieldValues.
A dependency has the form "Field a depends on the value x of field b".
To define a new dependency for a field, follow these steps:
Step 1: Select the value of the field b on which field a should depend.
Step 2: Select SD.basicdata > MyCompany > CallSystem > Table Extensions.
Step 3: Click Display fields to open the list of fields.
Step 4: Select the field b on which value you want to define the dependency.
NOTE: The field must have a value list. Otherwise, you cannot define a dependency based on that field.
Switch to the value list, and select the value on which the field a should depend. The detail view of the value provides a new top function called Dependencies.
Click on this function and you will get a list of fields which can depend on the current value. Fields that could lead to cycle dependencies are not listed. Select the fields that should depend on the current value, and click Submit. If some fields already depend on the value, then they are already selected. De-selecting them would delete the dependency.
To see an overview of all defined dependencies of a TableExtension, we added a new top function to the detail view of the TableExtension called View dependencies.
Using dependencies in CallDetail
To use the defined dependencies in CallDetail, add all extended fields that are part of the defined dependencies to the CallDetail setup. Use default values and the override flag. Fields for which none of the defined dependency is fulfilled are invisible. When changing a field value, the dependencies will be re-evaluated, which could cause other fields to become visible or invisible. If a field becomes invisible, its value will be deleted as soon as it becomes invisible. If the override flag is set, the default value is restored when the field becomes visible again. The override flag does not have an effect on fields that are invisible when saving the call.
In the following image, you can see a setup using the dependencies defined above. The field ChgExtField2 has w as default value,and the field ChgExtField4 has a as default value. In case of ChgExtField4 the override flag is set.
You can also see the fields ChgExtField3 and ChgExtField5, because both do not depend on the values of the other fields. The other fields are invisible because all the fields they depend on have the wrong value or are invisible, too.
If you now change, for example, the value of ChgExtField5 to b then the CallDetail will look as follows:
Since ChgExtField5 has now 5 as value, ChgExtField4 is visible. Since ChgExtField4 has a as default value and the override flag is set, the value of the field is now a and therefore, field ChgExtField2 becomes visible. The field ChgExtField2 is empty because its default value was deleted after becoming invisible for the first time.
There is a special handling for read only fields. Such a field will not be hidden if none of the dependencies is fulfilled, but its value will be deleted when saving the call and no dependency is fulfilled.
Display sum of activities in call-list and call-detail
In call-list and call-detail setups five new fields are available. These fields display the sum of travel, travelback, and workminutes of all activities of a call. These fields can also be used in outbound templates.
| Label|| Description|| InternerFieldName|
| ActivitySumOfWorkMinutes|| The sum of workminutes of all activites of a call || ActivitySumOfWorkMinutes|
| ActivitySumOfTravelMinutes|| The sum of travelminutes of all activites of a call|| ActivitySumOfTravelMinutes|
| ActivitySumOfTravelBackMinutes|| The sum of travelbackminutes of all activites of a call || ActivitySumOfTravelBackMinutes |
| ActivitySumOfAllTravelMinutes|| The sum of travelminutes and travelbackminutes of all activites of a call || ActivitySumOfAllTravelMinutes|
| ActivitySumOfAllMinutes|| The sum of work-, travelminutes and travelbackminutes of all activites of a call|| ActivitySumOfAllMinutes |
The sum fields can be added to a call-list setup.
A From-To filter is available for these fields.
The value can be displayed in day, hours or minutes format.
An aggregate function can be defined for these fields.
If the list has an total line and a aggregate function is defined for a field the total sum of this column is calculated and displayed an the bottom of the list.
The sum fields can be added as readonly fields to a call-detail setup.
A detail button is available for all fields.
- Click on this button. The activity tab will be displayed in the right frame.
- An activitydetail setup can be assigned to each detail-button in call-detail setup.
It is also possible to use these fields in outbound templates. If a value should be added to an outbound message, the following XSL statements should be used:
<xsl:value-of select="ActivitySumOfWorkMinutes"/> <xsl:value-of select="ActivitySumOfTravelMinutes"/> <xsl:value-of select="ActivitySumOfTravelBackMinutes"/> <xsl:value-of select="ActivitySumOfAllTravelMinutes"/> <xsl:value-of select="ActivitySumOfAllMinutes"/>
Hide empty fields in CallDetail and CallHistory
A new option HideIfEmpty has been added for fields of CallDetail and CallHistory setups. You can set this option through the Fieldlist.
You can also set the HideIfEmpty option through the Fielddetail view.
When the HideIfEmpty option is set and the field has no value, it is not displayed at the CallDetail/CallHistory.
Expand/Collapse fieldgroups in CallHistory
To improve the readability of the CallHistory, an Expand/Collapse functionality has been added.
Two new options have been added to CallHistory fields as follows:
- HasExpandCollapseButton defines if the Expand/Collapse buttons should be displayed.
- IsGroupCollapsed defines if the initial state should be expanded or collapsed.
The new options can be set at the fielddetail of CallHistory fields.
Setting these options only take effect when the field is also defined as a GroupHeader. When HasExpandCollapseButton is set for a groupheader field, a +/- icon is displayed.
In addition, the topfunctions Expand all/ Collapse all are displayed.
When a CallHistory Setup contains more than one GroupHeader, Expanding/Collapsing affects only the range between the GroupHeaders.
Customizable Height for Memo fields
The option Height already existed for memo fields of CallDetail setups. With Release 5.7, this feature has now been added to memo fields of CallHistory setups. The option Height can be set at the FieldDetail of all memo fields of CallHistory setups.
The set value defines the Number of rows used to display this field.
A Calldetail can contain several Caller, Location, or Device fields. You can add a FieldSpecButton for these fields. When you click this button, a list of calls with the same Fieldvalue (CallerCity, LocationCategory, and so on) is displayed at the right frame of the CallDetail.
With the release of version 5.7, this feature is also available for Organization fields.
Available Organization fields are as follows:
- CustomerOrgShortName / ProviderOrgShortName
- CustomerOrgName / ProviderOrgName
- CustomerStreet / ProviderStreet
- CustomerCity / ProviderCity
- CustomerZip / ProviderZip
- CustomerTel / ProviderTel
- CustomerFax / ProviderFax
- CustomerEMail / ProviderEMail
- CustomerCategory / ProviderCategory
- CustomerProvince / ProviderProvince
- CustomerOrgCountryName / ProviderOrgCountryName
- CustomerOrgReliability / ProviderOrgReliability
To add the FieldSpecButton for a specific field, check the HasFieldSpecButton check box at the FieldDetail of the OrganizationField at the selected CallDetailSetup.
SD.basicdata / MyCompany / [Company] / Setups / [Setup] / [OrganizationField]
After you check the HasFieldSpecButton checkbox, the icon appears at the should appear at the CallDetail.
NOTE: If the field has no values, no icon is displayed.
When clicking the icon, the CallList is displayed on the right frame.
A new module for displaying calls in a calendar is implemented.
The look and feel of the module Technician Calendar has been adopted for the new calendar. Users that are familiar with the Technician Calendar will be able to use the Call Calendar with minimal training.
Accessing the Calendar View
In order to access the Call Calendar, it must be enabled for your company. When enabled, there are two ways to access it. First, it should appear under SD.call > CallCalendar. Additionally, if there are CallCalendar-setups configured to appear as menu entry, they can also be found under SD.call, as if they were Calllist-setups.
Calendar View functions
The calendar view contains four panels:
- Filter panel for call selection
- Group data panel
- Calendar Navigation panel
- Calendar panel
Filter panel for call selection
In this panel, the columns that can be used to filter the calls are displayed. It will contain all selected setup fields. If you want to change your calendar view, you can select another setup in the setup drop-down list.
Group data panel
This panel displays all fields selected as UsAsCalendarLabel fields.
Calendar Navigation panel
This panel contains scrolling options for changing the time frame.
- Buttons for changing the time period (Day/Week/Month).
- Popup calendar for selecting a specific date.
- Buttons for changing the current page.
- Sliders for changing the height of a calendar row and changing the width of a calendar column (Hour/Weekday/Day).
In this panel, the calls are displayed. Each appointment is shown as a bar. The color depends on the callstate. The bar uses all fields that have been configured as DisplayInCalendarBar as text.
The popup window with the call detail data can be opend by clicking on a bar representing a call.
Auto refresh button
When the you click the auto refresh button, the calendar automatically refreshes every five minutes.
Shift the time frame forward and backward.
The different scroll buttons have these functions:
| Period|| |<<|| <<|| <|| >|| >>|| >>||
| Day|| 1 week backward|| 24 hours backward|| 1 hour backward || 1 hour forward || 24 hours forward|| One week forward|
| Week|| 1 month backward || 1 week backward || 1 day backward || 1 day forward || 1 week forward|| 1 month forward |
| Month|| 1 month backward || 1 week backward || 1 day backward || 1 day forward || 1 week forward|| 1 month forward|
During switching of the time period, the first displayed day will not be changed. The new view will start with the same day as before.
In the day view, you can navigate to a specific hour by clicking on the corresponding link in the calendar header. In week and month view, you can navigate to a specific day this way.
Select a special day
If there are more calls to display than the calendar EntiresPerPage setting, the calls will be split among several pages. In order to access a different page than the current page, you can use buttons or enter a page number directly.
| |<< || <<|| <|| >|| >>|| >>||
| first page|| 10 pages backward|| 1 page backward || 1 page forward|| 10 pages forward|| last page |
NOTE: Only those buttons which actually navigate to a different page is enabled. For example, if there are only five pages, the 10 pages forward button is greyed out.
Calls are automatically grouped by all fields that have UseAsCalendarLabel set. In order to have all calls that would belong to a group displayed in the same group, the calls must be sorted by at least all the fields that are used as calendar label.
StartTime and EndTime
If the timestamps that represent the StartTime and EndTime appear as filters in calendar, users cannot enter values. These timestamps are greyed out and navigation is entirely managed by the calendar.
Configuring the Call Calendar
In order to access call calendar setups, choose Call Calendar in MyCompany tree.
With this new setup type, the entire call calendar can be configured. All callfields are available to this setup. All fields belonging to the setup will be displayed in the calendar filter. Additonally, UseAsCalendarLabel display them in the first column of the calendar and DisplayInCalendarBar display them in the bar representing a call, are available.
The meaning of the values that can be configured as follows:
| Entry|| Meaning|
| EntiresPerPage|| The maximum amount of calls displayed in the calendar. If there are more calls to display, paging will be enabled.|
| HasTimeZoneChoice|| If this flag is set, the timezone of the calendar can be changed in the calendar filter.|
| UploadLink/DownloadLink|| Setting this flags enables a link for uploading and downloading calls.|
| HideFilterPanel|| If set, the filter will be hidden per default.|
| HasAutoRefresh|| If set, a function that automatically refreshes the calendar every five minutes will be available in the calendar's filter.|
| WaitForSelect|| If set, the calendar will be initially empty. The first selection of calls will take place when hitting GO! or when the calendars date is set.|
| UseAsMenuEntry|| If set, a calendar with the current setup can be accessed directly in the SD.call-menu.|
| MenuText|| Text to use for menu entry in the SD.call-menu.|
| MenuSeqNr|| Number for ordering entries in the SD.call-menu.|
| TextPanelDefaultWidth|| Width of the panel displaying the group texts at the beginning of each row in the calendar.|
| CalendarPanelDefaultWidth|| Width of the panel which displays the calls. When empty, the panel will use the available space on the screen.|
| CalendarRowDefaultHeight|| Height of a row in the call calendar.|
| DefaultPeriod|| Amount of time that is covered in the default view of the calendar- possible values are Day (1 day), Week (7 days) and Month (30 days).|
| WorkTimeFrom|| When the calendar is in Day-view, the day will start at this time.|
| WorkTimeTo|| When the calendar is in Day-view, the day will end at this time.|
| CallDetailSetup|| When clicking a call, a call-detail popup using this setup will be displayed. Note that you cannot modify a call with this popup, so the setup will be set to be read only.|
| StartTime|| This timestamp will be used as beginning time of a call.|
| EndTime||This timestamp will be used as end time of a call. It is recommended to choose a timestamp that is usually after the timestamp chosen as StartTime.|
New properties of fields for Call Calendars
Fields that belong to a calendar setup can have two possible flags set:
- UseAsCalendarLabel: The field will be used as (part of) the label of a row in the calendar. The calls displayed in the calendar will be grouped by the values of this first column. All calls having the same value in this first column will appear in the same row.
- DisplayInCalendarBar: The field will be used as (part of) the text of a bar that represents a call.
SD.cockpit Usability Enhancements
The way the cockpit tree is loaded has been changed.
Subgroups with their elements are now loaded asynchronously. Only the elements that are shown are loaded from the database and provided by the server.
This means that the tree can be drawn more quickly.
If a subgroup is opened for the first time, its content is loaded from the server. When this group is closed and reopened, the request is not sent for a second time.
As a side-effect, the limit to 5 levels has been dropped. Therefore, subgroups in level 6 and deeper can be created.
Some limits have been set to avoid unnecessary heavy load on the server:
"Expand all" can only be applied to cockpits if the total number of shown elements is < 1000.
Equally, a copy-limit of 1000 elements has been set. Only groups containing less elements can be copied.
The following functions are now available:
- "Expand all" on subgroup (Only the last clicked group is opened with all its subgroups)
- "Reload" tree
- No limit to level of subgroups (see above)
- Better error messages (for example, when two user work in the setup of the same cockpit)
- When the tree is reloaded after an action (save on the right side, copy, move) only the group(s) where the action has taken place is/are reopened.
- The order of elements that have the same SeqNr within a group may change.
- Schedulers are shown as first elements of the group.
Enhancements for SD.bridge
Replace umlaut in filename of attachments
With an attachment, the following characters in its name will be replaced:
| umlaut|| replaced by|
| Ä|| Ae|
| ä|| ae|
| Ö|| Oe|
| ö|| oe|
| Ü|| Ue|
| ü|| ue|
| ß|| ss|
NOTE: Messages that report an attachment has been added, and still contain umlaut characters.
Custom callservice in metro
With Release V5.7 of Cisco ServiceGrid application, a new web service is provided to handle custom requests for putting and getting calls. The service can be contacted through the URL: https://[platform]/ws/soap/custom/CallService?wsdl. The service consists of two methods:
- One for fetching a call from Cisco ServiceGrid: getCall.
- One for pushing a call into Cisco ServiceGrid: putCall.
getCall stands for outbound communication and putCall is for inbound communication.
How can it be used for inbound communication?
The WSD service has no restrictions. The only thing a caller of the web service has to remember is the root tag. In any case, the tag should be named CallData. The content of this tag can be chosen arbitrarily.
Additionally, to the CallData, two more parameters have to be provided by the caller to be serviced correctly: a username and a valid corresponding password. With these three values a call can be pushed to the platform. At the back-end, do the following:
1. Create an inbound communication as follows:
- Converter must be SDStandardXML.
- CommunicationType should be HTTPS SOAP.
2. Create a message trigger and assign to the communication.
TriggerType should be Wait for Inbound.
3. Create an inbound template that transforms the incoming request into SD Standard namespace and assign it to Communication.
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns2="urn:ws.solvedirect.com/broker" version="1.0"> <xsl:template match="/"> <CALL> <Calls.CustCallID><xsl:value-of select=".//rootTag/customerCallid" /></Calls.CustCallID> <Contracts.ShortName><xsl:value-of select=".//rootTag/contractShortname" /></Contracts.ShortName> </CALL> </xsl:template> </xsl:stylesheet>
4. Add a new sender with the email address of the user that will be used for calling the service.
How can it be used for outbound communication?
For calling the getCall method in the custom callservice one must only provide a username and a corresponding password.
To create messages that can be fetched through this method, the following communication should be configured in the platform:
1.Create an outbound communication
Converter and CommunicationType should be equal to inbound communication.
2.Create a message trigger and assign to the communication.
TriggerType can be chosen as desired and must not be "Wait for Inbound".
3.Create an outbound template that transforms the call from SD Standard namespace into the target namespace and assign it to the communication.
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <SD.call-XML> <xsl:for-each select="SD.call"> <xsl:call-template name="CALL" /> </xsl:for-each> </SD.call-XML> </xsl:template> <xsl:template name="CALL"> <CALL> <callid><xsl:value-of select="Data/base64" /></callid> <callsystem><xsl:value-of select="FileName" /></callsystem> </CALL> </xsl:template> </xsl:stylesheet>
4.Create a new receiver with the email address of the user that is used for calling the service as Address value.
Flexible attachment handling in XML messages
As described in the section custom callservice, custom callservice can provide user-defined tags. This is applicable for both inbound as well as outbound attachments. This functionality is also reflected by the corresponding SDfields:
Inbound requests require another mapping than outbound as displayed in the two following examples:
As you can see in the previous figure, the tags for inbound communication are Attachments and two children as FileName and DataBase64.
The following listing shows a simple possibility how a template can look like to extract an attachment from a custom request and transform it into SD namespace:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns2="urn:ws.solvedirect.com/broker" version="1.0"> <xsl:template match="/"> <CALL> <Calls.CustCallID><xsl:value-of select=".//rootTag/customerCallid" /></Calls.CustCallID> <Contracts.ShortName>C100-INC</Contracts.ShortName> <Attachments> <FileName><xsl:value-of select=".//rootTag/attachmentFilename" /></FileName> <DataBase64><xsl:value-of select=".//rootTag/attachmentTag" /></DataBase64> </Attachments> </CALL> </xsl:template> </xsl:stylesheet>
The difficulty while sending attachments with mails and which are not handled properly. One should fill out the values in the communication master data for the following fields:
As in Inbound, the field names can be found in Cisco ServiceGrid dictionary.
The following listing shows a sample template which transforms a call from SD namespace into a custom target namespace:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <SD.call-XML> <xsl:for-each select="SD.call"> <xsl:call-template name="CALL" /> </xsl:for-each> </SD.call-XML> </xsl:template> <xsl:template name="CALL"> <CALL> <xsl:for-each select="Attachments"> <attfilename><xsl:value-of select="FileName" /></attfilename> <attdata><xsl:value-of select="DataBase64" /></attdata> </xsl:for-each> </CALL> </xsl:template> </xsl:stylesheet>
For a complete list of Cisco ServiceGrid Articles, go to the List of articles page.