Background technology
The value-added telecom services field realizes that the exploitation of IVR flow process mainly contains two kinds of patterns at present:
One, business development merchant development mode.Under this pattern, whole increment service system is responsible for development and maintenance by a company, wherein generally is divided in the call treatment part: Media Gateway Module, SGW module, resource control module, IVR process flow operation module.These modules are formed a plateform system, and the different IVR operation flow of operation realizes different service logics on it.The IVR flow process is responsible for realizing concrete service logic, and this platform then is responsible for carrying out the concrete instruction that the IVR flow process provides, and realizes user's playback is collected the digits playback again, operations such as outgoing call.Obviously, it doesn't matter with the concrete service logic that will carry above it for this platform, has very strong independence and versatility, and after a general system built, these modules can change seldom again.The business development merchant realizes various value-added telecom services by working out various IVR flow process.Here, draw an analogy, call platform is equivalent to the JAVA virtual machine, and developer's IVR flow process developer is equivalent to the JAVA programmer, and " JAVA programmer " need constantly must write different " JAVA program " to realize different business functions.
The advantage of this pattern is: the developer holds precisely system, understands thoroughly, can must finish by high-quality for the demand that the user carries.
Shortcoming is: in order in time to tackle various demands and the change that different clients proposes, the IVR flow process development teams that needs a specialty continues to carry out demand exploitation and maintenance, give an example, even user's demand only is to mention ground floor the simplest this requirement change to certain submenu from the second layer, also needs the developer to revise IVR flow process code and support.Obviously, use for commmunication company if the developer just does one " call center system ", its client has only one, i.e. this type of operator of commmunication company, and the developer has the ability in time to tackle this customer demand change fully.If developer's client is not an operator, but vast enterprise customer, be exactly thousands of enterprise as the client of " company telephone exchange system ", these requirement of enterprise are ever-changing, and then this pattern can't adapt to this a large amount of requirement change certainly.
Two, user's development mode.This pattern has had progress than first pattern, the business development merchant is owing to can't tackle numerous requirement change, have to terrace part and changeable IVR operation flow are partly peeled away, the developer only is responsible for providing and safeguards a call platform, and the development process of IVR operation flow has then directly offered the user.This is not simply directly to allow the user go to bear former IVR flow process developer's role, and the developer need carry out one deck in advance with the IVR flow process and encapsulate preferably, and common function is packed, as " play menu " function, offer the user, may just only need " playing duration is got several buttons; filename; user not button is circulated several times " these several simple parameters, and before the encapsulation, may also need complex parameters such as " overtime duration; end key are from the broadcast that where begins of file ".This just requires to reduce IVR flow process development difficulty, and more friendly simple user development interface is provided.
This pattern advantage is: the developer can concentrate one's energy to carry out the maintenance exploitation of platform, and the user can oneself realize the demand of oneself under front baffle.Requirement change can not be used in the developer and line up there.
Shortcoming is: threshold is higher.Even reduced difficulty, the system for script formula IVR flow process development language is provided still needs the user to understand basic programmed logic, can use variable, understands function call or the like, the flow process development language of the producer that has even similar with assembler language; For the IVR flow process development system that graphical interfaces is provided, the user also needs to understand service logic, and the meeting Control Circulation is known under appropriate condition and jumped out circulation, uses various variablees or the like.User's development mode still needs the user to understand the method and skill that some are developed, and has relatively high expectations.
Summary of the invention
The present inventor finds that in the business development process a lot of requirement of enterprise are similarly, and the present invention extracts a large amount of similarly demands, is packaged into the functional module that can not be split one by one, offers the user.What the user will do only is to tell which key to call which functions of modules by by voice platform.As " voice mail is please by 1, and videoconference is please by 2, and enterprise is introduced please by 3 ".The user does not need to understand flow logic, does not need to use any variable.Like this, can simplify the making at user IVR flow process interface greatly, solve the above-mentioned technical problem that prior art exists, for this reason, the invention provides a kind of IVR dynamic menu method and the access method thereof that can directly edit.
The present invention adopts following technical scheme:
A kind of IVR dynamic menu method that can directly edit may further comprise the steps:
Numbering and the corresponding voice platform function of function numbered list are provided, and ivr menu is a tree, and root node has the submenu node, and the submenu node has functional node, is not to be provided with the submenu node in the functional node of leaf node; Wherein, described functional node comprises:
A, function button: show the user by what button just respond this function;
B, function numbering: the function numbering that defines in the voice platform function numbered list, unique identification function;
C, functional parameter: the parameter that this function need be used, as corresponding " outgoing call " function, parameter can be filled in the number of wanting outgoing call.
Further, described tree is a binary tree structure.
Further, the right subtree of described binary tree structure is subordinate's submenu of current tree node, and left subtree is the arranged side by side fraternal menu of current tree node.
Further, the submenu under the described root node is employee's submenu and client's submenu.
Further, each node in the described tree is a node of XML form.
The present invention also provides a kind of IVR dynamic menu access method that can directly edit, and the dynamic menu that adopts the above-mentioned IVR dynamic menu method that can directly edit to generate may further comprise the steps:
When 1) visiting, default menu stack is preserved menu pointer with the mode of " going into afterwards earlier "; Default one first pointer, on " present node pointer " menu nodes that this first pointed active user stops, during user key-press, newly-built one second pointer, the right subtree of the node of described second pointed, first pointed;
2) compare the button of user's input and " function button " key assignments of the node that " second pointer " points to,, enter step 3) if identical; If different, then change step 4);
3) " first pointer " is pressed in the menu stack, the node of current second pointed of first pointed enters the next functional node of menu, carries out the corresponding function of function numbering in this functional node;
4) judge whether the node that current " second pointer " points to has left subtree, if then the left subtree of the second pointed node changes step 2); If not, then enter step 5);
5) menu prompt of broadcast first pointed after the user imports new button, is changeed step 2).
Further, in described step 3), when carrying out the function of function numbering correspondence in this functional node, when this functional node is not leaf node, the node of current second pointed of first pointed, the right subtree of the node of described second pointed, first pointed; When promptly this functional node was the submenu node, the right subtree of the node of current first pointed of described second pointed changeed step 2).
Further, in described step 3), carry out in the function of function numbering correspondence in this functional node, when this functional node when returning function, first pointer that the described first pointed menu stack ejects, be the previous menu node of the menu nodes that stops of active user, the right subtree of described this previous menu node of second pointed changes step 2).
The present invention compares with other IVR flow process development approaches, and it has the following advantages:
1, directly perceived, do not need to use third-party flow process editing machine, only need the text edit tool editor XML form menu;
2, simple, IVR flow process menu is just described the hierarchical structure of menu, does not relate to variable, circulation or the like parameter;
3, function package, voice platform have been packaged into many function points with client's demand, and the user only need indicate the function point of use in ivr menu menu level gets final product.
4, primary development uses everywhere.New functional requirement for user's proposition, by after specializing in staff development and finishing, this new function is added the platform feature tabulation, can open to all users of platform and go to call, other clients propose similar functional requirement, then needn't redevelop, only need allow the button number sequence of ivr menu under user's easy customization, just can call this function, make things convenient for the upgrading of ivr menu, improve operating efficiency.
Further specify the present invention below in conjunction with drawings and Examples.
Embodiment
Embodiment one
A kind of IVR dynamic menu method that can directly edit may further comprise the steps:
Numbering and the corresponding voice platform function of function numbered list are provided, ivr menu is a tree, as Fig. 1, Fig. 2, shown in Figure 3, root node has the submenu node, the submenu node has functional node, not to be provided with the submenu node in the functional node of leaf node, for example if current be the functional node of " play menu ", then be provided with the submenu node in this functional node, as current " play menu " " outgoing call is by 1; videoconference is by 2; other functions are pressed # ", then this submenu node has three corresponding subfunction nodes, is respectively to enter " outgoing call " by 1, enters " videoconference " by 2, enter " play menu " by #, wherein will no longer include the submenu node in " outgoing call " and " videoconference " function node, and be provided with the submenu node in the function node by " play menu " that enter behind the #, be used for pointing out other function choosing-items by behind the #; Wherein, described functional node comprises:
A, function button: show the user by what button just respond this function;
B, function numbering: the function numbering that promptly defines in the voice platform function numbered list, unique identification function;
C, functional parameter: the parameter that this function need be used, as corresponding " outgoing call " function, parameter can be filled in the number of wanting outgoing call.
Wherein, described tree is a binary tree structure.
Wherein, the right subtree of described binary tree structure is subordinate's submenu of current tree node, and left subtree is the arranged side by side fraternal menu of current tree node.The content of left subtree and right subtree also can be exchanged.
Wherein, the submenu under the described root node is employee's submenu and client's submenu.
Wherein, each node in the tree structure is a node of XML form.Concrete example is as follows:
<menu_xn〉--------root node
<employee〉--------employee incoming call menu
<menu〉---------function
<key〉</key〉------the corresponding button of----this function
<action〉</action〉--the unique number of----this function
<param〉</param〉--the parameter that----this function needs
<sub_menu〉-----Ruo Ben function is play menu (press 1XXX, press 2XXX), then defines subfunction
<menu〉-------functional structure, the key value of the inside is 1
<menu〉-------functional structure, the key value of the inside is 2
</sub_menu>
</menu>
</employee>
<customer〉--------client incoming call menu
</menu_xn>
Embodiment two
A kind of IVR dynamic menu access method that can directly edit, the dynamic menu that adopts the foregoing description one to generate specifically may further comprise the steps:
When 1) visiting, default menu stack is preserved menu pointer with the mode of " going into afterwards earlier "; Default one first pointer on the menu nodes that this first pointed active user stops, also is called the present node pointer; During user key-press, newly-built one second pointer also is called search pointer; The right subtree of the node of described second pointed, first pointed;
2) relatively the key (key) of the node of the button of user's input and " second pointer " sensing is worth, if identical, enters step 3); If different, then change step 4);
3) " first pointer " is pressed in the menu stack, the node of current second pointed of first pointed enters the next functional node of menu, carries out the corresponding function of function numbering in this functional node;
4) judge whether the node that current " second pointer " points to has left subtree, if then the left subtree of the second pointed node changes step 2); If not, then enter step 5);
5) menu prompt of broadcast first pointed, i.e. the menu prompt of " present node pointer " sensing, " present node pointer " in the program remains unchanged, and after the user imports new button, changes step 2).This shows the key assignments that does not have coupling in all fraternal menus arranged side by side, and the button that user's input is described is illegal for the menu nodes of first pointed, belong to invalid button, repeat playing the current set of menu, after the user imports new button, change step 2).
Wherein, in described step 3), carry out in the function of function numbering correspondence in this functional node, when this functional node is not leaf node, " present node pointer " points to this node, the node of current second pointed of first pointed, the right subtree of the node of described second pointed, first pointed; When promptly this functional node was the submenu node, the right subtree of the node of current first pointed of described second pointed changeed step 2).
Wherein, in described step 3), carry out in the function of function numbering correspondence in this functional node, when this functional node when returning function, described " present node pointer " points to first pointer that the menu stack ejects, the previous menu node of the menu nodes of i.e. first pointed active user stop, the right subtree of described this previous menu node of second pointed changes step 2).
Adopt aforesaid way, the user only need know the feature list of voice platform, just can oneself set about editing the XML form ivr menu that oneself needs, and the nested progression of IVR submenu wherein is arbitrarily.According to the XML file format, the ivr menu hierarchical structure that compiles user needs, form the ivr menu file, and by the uploading tools of platform menu file is uploaded to voice platform, this uploading tools also can trigger voice platform and remove to read the menu file that the user newly uploads.Wherein, this uploading tools can adopt existing techniques in realizing, in the detailed description of this omission to uploading tools.After ivr menu comes into force, but user's test calls.
Below with the dynamic menu sample instance of an xml file format enumerating a mobile switchboard platform, wherein voice platform function numbered list (part) is as follows:
The function numbering |
Function |
1 |
Play menu |
2 |
Return |
3 |
Audio call |
4 |
Outgoing call |
5 |
The extension set switching |
6 |
Voice mail |
7 |
Videoconference |
… |
…… |
The menu content of xml file format is as follows.Wherein, companyId is public sound a bugle, and companyName is a Business Name, and buildDate is that menu is set up the date.Desc is the description of functional node.
<?xml?version=″1.0″encoding=″GB2312″?>
<menu_xn>
<companyId>4</companyId>
<companyName〉IVR test 1</companyName 〉
<buildDate>2009-01-2416:01:42</buildDate>
<defaultRet>true</defaultRet>
<employee>
<menu>
<id>0</id>
<desc〉request extension number, audio call is please by one, number is called for outward by nine, total platform service is please by zero, other services please by pound sign</desc
<langnav>false</langnav>
<key></key>
<action>0</action>
<langaction></langaction>
<param></param>
<vox>
<file>11525</file>
<time>70</time>
<keynum>30</keynum>
<endkey>*#</endkey>
<mark>110000000111111</mark>
</vox>
<sub_menu>
<menu>
<id>5</id>
<desc〉the extension set switching</desc 〉
<key>X</key>
<action>5</action>
<param></param>
</menu>
<menu>
<id>2</id>
<desc〉audio call</desc 〉
<key>1</key>
<action>2</action>
<param></param>
</menu>
<menu>
<id>4</id>
<desc〉the number outgoing call</desc 〉
<key>9</key>
<action>4</action>
<param></param>
</menu>
<menu>
<id>3</id>
<desc〉commentaries on classics secretary platform</desc 〉
<key>0</key>
<action>3</action>
<param></param>
</menu>
<menu>
<id>0</id>
<desc〉voice mail is please by one, videoconference is please by two, Faxmail is please by three, the machine master leaves a message please by four, password obtain please by
Five, company information is please by six, and group's intercommunication is please by seven, return please by asterisk</desc
<key>#</key>
<action>0</action>
<param></param>
<vox>
<file>11716</file>
<time>30</time>
<keynum>1</keynum>
<endkey>*#</endkey>
<mark>111111111111111</mark>
</vox>
<sub_menu>
<menu>
<id>0</id>
<desc〉listen to message please by one, message is please by two, return asterisk</desc
<key>1</key>
<action>0</action>
<param></param>
<vox>
<file>11562</file>
<time>15</time>
<keynum>1</keynum>
<endkey>#</endkey>
<mark>111111111111111</mark>
</vox>
<sub_menu>
<menu>
<id>23</id>
<desc〉tin message</desc 〉
<key>1</key>
<action>23</action>
<param></param>
</menu>
<menu>
<id>14</id>
<desc〉message</desc 〉
<key>2</key>
<action>14</action>
<param></param>
</menu>
</sub_menu>
</menu>
<menu>
<id>0</id>
<desc〉input group's group number is please by one, Enters Number please by two, and audio call adds meeting please by pound sign please by three, returns
Please by asterisk</desc
<key>2</key>
<action>0</action>
<param></param>
<vox>
<file>11714</file>
<time>20</time>
<keynum>1</keynum>
<endkey>#</endkey>
<mark>111111111111111</mark>
</vox>
<sub_menu>
<menu>
<id>24</id>
<desc〉group's initiation videoconference</desc 〉
<key>1</key>
<action>24</action>
<param></param>
</menu>
<menu>
<id>25</id>
<desc〉number initiation phone</desc 〉
<key>2</key>
<action>25</action>
<param></param>
</menu>
<menu>
<id>26</id>
<desc〉audio call initiation videoconference</desc 〉
<key>3</key>
<action>26</action>
<param></param>
</menu>
<menu>
<id>22</id>
<desc〉add again videoconference</desc
<key>#</key>
<action>22</action>
<param></param>
</menu>
</sub_menu>
</menu>
<menu>
<id>0</id>
<desc〉send fax please by one, receive faxes please by two, return please by asterisk</desc
<key>3</key>
<action>0</action>
<param></param>
<vox>
<file>11567</file>
<time>15</time>
<keynum>1</keynum>
<endkey>#</endkey>
<mark>111111111111111</mark>
</vox>
<sub_menu>
<menu>
<id>15</id>
<desc〉send a fax</desc 〉
<key>1</key>
<action>15</action>
<param></param>
</menu>
<menu>
<id>16</id>
<desc〉the receipts fax</desc 〉
<key>2</key>
<action>16</action>
<param></param>
</menu>
</sub_menu>
</menu>
<menu>
<id>9</id>
<desc〉machine master message</desc 〉
<key>4</key>
<action>9</action>
<param></param>
</menu>
<menu>
<id>10</id>
<desc〉obtain password</desc
<key>5</key>
<action>10</action>
<param></param>
</menu>
<menu>
<id>11</id>
<desc〉company information</desc 〉
<key>6</key>
<action>11</action>
<param></param>
</menu>
<menu>
<id>28</id>
<desc〉group's intercommunication</desc 〉
<key>7</key>
<action>28</action>
<param></param>
</menu>
</sub_menu>
</menu>
</sub_menu>
</menu>
</employee>
<customer>
// client menu slightly.
</customer>
</menu_xn>
Above-described embodiment only is used to illustrate technological thought of the present invention and characteristics, its purpose is to make those skilled in the art can understand content of the present invention and implements according to this, can not only limit claim of the present invention with present embodiment, be all equal variation or modifications of doing according to disclosed spirit, still drop in the claim of the present invention.