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

Reply via email to