[Freeswitch-dev] how to get dnis into mod_callcenter?

Royce Mitchell III royce3 at gmail.com
Mon Aug 15 19:27:41 MSD 2011


I would like a few features added to mod_callcenter. I have already
implemented 3 of the 4 I want. The 4th one is what I need a bit of
advice on.

1) I need the ability to query an agent's state when logging in. The
problem is, if my software crashes, I'd like to be able to restart the
software while the agent is still on the phone and be able to read the
agent's current state. The only way I've figure out how to do this is
via "callcenter_config agent list". The problem is that returns a list
of all agents which could be inefficient if there are a lot of agents
in the system. Therefore I have implemented the following in the
attached patch:

add an optional [{agent_name}] to the end of agent list, so the
function call looks like this: "callcenter_config agent list
[[agent_name]]". I'm using the double [[ ]] to indicate that
[agent_name] would be optional and, if present, that you only want the
information from that command for the indicated agent. Actual example:
"callcenter_config agent list 1001 at 127.0.0.1"

2) There's a "set status", "get status", and "set state", but no "get
state". I have implemented "callcenter_config agent get state
<agent_name>". Actual example: "callcenter_config agent get state
1001 at 127.0.0.1"

3) There's no way to directly query an agent's uuid except via agent
list, so I implemented "callcenter_config agent get uuid
<agent_name>". Actual example: "callcenter_config agent get uuid
1001 at 127.0.0.1"

Finally, this is where I'm stuck... I'm not sure how to implement this
last feature...

4) I need to get the caller's DNIS via cti when a call is delivered. I
am getting all the information I need with an event socket filter of
"filter CC-Agent 1001 at 127.0.0.1" except for the DNIS. Right now I'm
having to add another filter, "filter variable_cc_agent
1001 at 127.0.0.1" in order to get that information from the
"Caller-RDNIS" field, but that's causing me to get a whole lot more
events than I want/need. I want to add a new field called
"CC-Member-DNIS" that will be caught with a "CC-Agent" filter, but I'm
not sure how to get the DNIS information to create that header.


-- 
There's a fine line between genius and insanity. I like to use it for
dental floss.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mod_callcenter.diff
Type: application/octet-stream
Size: 6891 bytes
Desc: not available
Url : http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20110815/ae570470/attachment.obj 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev mailing list