Tressler, Joshua A wrote:
I did a quick Google search of the lists and I hope that I am not
asking a question that has already been answered recently.
I have been working on a interface to use with our CRM software. I am
using the manager interface and mysql to store the changes. The only
issue I am having is when a caller joins the queue.
Currently, I can show the status of phones (ready, not ready, ringing,
ringing ack, in call, etc). What I am wanting to do is to be able to
track the status of the call in the database and do things with it
accordingly. I am able to accomplish this and make it work exactly as
I want, but it requires a modification to the source. For some reason,
the JOIN event in the manager interface doesn’t seem to have the
unique call id. Almost every other event does, but JOIN doesn’t for
some reason. Can anyone explain why it doesn’t?
My boss asked us to remove our hack to the source and find another way
as it we want to be able to update versions of asterisk and not modify
the source. I thought that I could get around this by using the
NEWEXTEN event that happens just before the join, but I can’t tie the
two events together.
I think you boss was right.. that will allow 100% compatibility with all
asterisk versions as far the events are there
lets see the events for a moment
HMMM the call enter go to the ivr so u will get 1 event like this for
the entire IVR
Event: Newexten
Privilege: call,all
Channel: SIP/s-f36c
Context: open
Extension: 0606
Priority: 7
Application: Queue
AppData: operator
Uniqueid: 1127422073.9183
Server: asterisk1
Ok this is the JOIN event still u can find things there that will allow
u to relate the call see the channel parameter.
Event: Join
Privilege: call,all
Channel: SIP/s-f36c
CallerID: ...
CallerIDName: ...
Queue: operator
Position: 1
Count: 1
Server: asterisk1
Now the asterisk is preparing himself for call an agent...
Event: Newchannel
Privilege: call,all
Channel: SIP/9915004-e198
State: Down
CallerID: <unknown>
CallerIDName: <unknown>
Uniqueid: 1127422096.9194
Server: asterisk1
Event: QueueMemberStatus
Privilege: agent,all
Queue: operator
Location: SIP/9915004
Membership: static
Penalty: 0
CallsTaken: 86
LastCall: 1127422074
Status: 0
Paused: 0
Server: asterisk1
Ahh magic again a wait to relate see the channelcalling.... and i bet
what ever u want that when the agent finish u will find the same
similarities.
Event: AgentCalled
Privilege: agent,all
AgentCalled: SIP/9915004
ChannelCalling: SIP/s-f36c
CallerID: .....
CallerIDName: ...
Context: open
Extension: 0606
Priority: 7
Server: asterisk1
so following the events for channel u will probably able to do the same
even without the uniqueid. 2 concurrent calls will have diferent
channels always.... u just have to be carefull to ensure u follow the
call from the beginning to the end.
regards
saul
Basically, with the hack modified, here’s what I do:
Call comes in, enter the info into the database with uniqueid as the
key. When a call is answered, I update that record in the database and
so on. Without the uniqueid on the JOIN event I am stuck.
Any suggestions on a way around this, or a better way of doing it? I
would also be curious if anyone would share their setup if the are
attempting the same.
Thanks,
Josh
_______________________________________________
--Bandwidth and Colocation sponsored by Easynews.com --
Asterisk-Users mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users