[OpenSIPS-Users] Opensips Call Center problems

Garmin Sag garminssg at gmail.com
Wed May 14 11:16:42 CEST 2014


Hello All,

I'm new to Opensips (and especially all the B2B stuff), so please forgive
my ignorance. It's my first post to the list, so if it's not the right
place to ask for help, then please forgive me.

I want to try the new call center module, but I have problems. I'm using
Opensips 1.11.1 (from
http://opensips.org/pub/opensips/1.11.1/src/opensips-1.11.1-0f26cc5_src.tar.gz
).
I think I've missed something.

Here is what I expect from the test:
1001 at dark.sip calls 321 (the customer care number) and when the Agent
(1000 at dark.sip) is logged in, 1000 should receive the call, and 1001 should
hear the
music on hold played from a remote Asterisk box (sip:789 at 192.168.57.3)
until 1000 accepts the call.

Here is UL output:
bash-4.2# opensipsctl ul show
Domain:: location table=512 records=2
        AOR:: 1000 at dark.sip
                Contact:: sip:1000 at 192.168.57.2:5060;ob Q=
                        Expires:: 6
                        Callid:: d8238fca92d546a4a02dacd49945ce09
                        Cseq:: 28989
                        User-agent:: MicroSIP/3.5.2
                        Received:: sip:192.168.57.2:5060
                        State:: CS_SYNC
                        Flags:: 0
                        Cflags:: NAT
                        Socket:: udp:192.168.57.1:5060
                        Methods:: 8063
        AOR:: 1001 at dark.sip
                Contact:: sip:1001 at 192.168.57.1:5062;line=440bf1c1659e8f5 Q=
                        Expires:: 3419
                        Callid:: 1327377519
                        Cseq:: 12
                        User-agent:: Linphone/3.6.1 (eXosip2/3.6.0)
                        Received:: sip:192.168.57.1:5062
                        State:: CS_SYNC
                        Flags:: 0
                        Cflags:: NAT
                        Socket:: udp:192.168.57.1:5060
                        Methods:: 4294967295



When 1001 dial 321, it's connected to the music on hold on the remote
asterisk box (192.168.57.3), but the Agent (1000 at dark.sip) doesn't ring
When I log off the agent using "opensipsctl fifo cc_agent_login 1000 0",
then 1001 cannot call 321 ("Cannot handle call") and that's normal I think.
When I log the Agent in using "opensipsctl fifo cc_agent_login 1000 1",
then 1001 can call 321 and stay in queue while connected to the music on
hold,
but still the call is not delivered to the Agent

Here is the code:
.....
loadmodule "b2b_entities.so"
modparam("b2b_entities", "db_mode", 1)
modparam("b2b_entities", "db_url", "mysql://opensips:opensipsrw@localhost
/opensips_1_11")

loadmodule "b2b_logic.so"
modparam("b2b_logic", "db_mode", 1)
modparam("b2b_logic", "db_url", "mysql://opensips:opensipsrw@localhost
/opensips_1_11")
modparam("b2b_logic", "script_scenario",
"/etc/opensips/scenario_callcenter.xml")

loadmodule "call_center.so"
modparam("call_center", "db_url", "mysql://opensips:opensipsrw@localhost
/opensips_1_11")
modparam("call_center", "acc_db_url", "mysql://opensips:opensipsrw@localhost
/opensips_1_11")
modparam("call_center", "b2b_scenario", "call center")
.....

route{
......

$var(flowid)="support";
if($rU=="321") {
if (is_method("INVITE") and !has_totag()) {
if (!cc_handle_call("$var(flowid)")) {
send_reply("403","Cannot handle call");
exit;
}
exit;
}
}

.....




And below are the database contents:

MariaDB [opensips_1_11]> select * from cc_agents;
+----+---------+----------------------------+----------+----------+---------------+
| id | agentid | location                   | logstate | skills   |
last_call_end |
+----+---------+----------------------------+----------+----------+---------------+
|  1 | 1000    | sip:1000 at 192.168.57.2:5060 |        1 | custcare |
    0 |
+----+---------+----------------------------+----------+----------+---------------+
1 row in set (0.00 sec)

MariaDB [opensips_1_11]> select * from cc_flows;
+----+---------+----------+----------+------------+-----------------+----------------------+
| id | flowid  | priority | skill    | prependcid | message_welcome |
message_queue        |
+----+---------+----------+----------+------------+-----------------+----------------------+
|  2 | support |      256 | custcare |            | NULL            |
sip:789 at 192.168.57.3 |
+----+---------+----------+----------+------------+-----------------+----------------------+
1 row in set (0.00 sec)

MariaDB [opensips_1_11]> select * from cc_calls;
+----+-------+----------+--------+------------+-----+------------+-----------+-----------+-----------+---------+---------+-------+
| id | state | ig_cback | no_rej | setup_time | eta | last_start |
recv_time | caller_dn | caller_un | b2buaid | flow    | agent |
+----+-------+----------+--------+------------+-----+------------+-----------+-----------+-----------+---------+---------+-------+
| 37 |     3 |        0 |      0 |         -1 |   0 |         99 |
 99 | 1001      | 1001      | 943.0   | support | 1000  |
+----+-------+----------+--------+------------+-----+------------+-----------+-----------+-----------+---------+---------+-------+
1 row in set (0.00 sec)








Every time 1001 calls 321, I get the following log

May 14 09:33:12 darkstar /sbin/opensips[7494]:
CRITICAL:db_mysql:wrapper_single_mysql_real_query: driver error (1062):
Duplicate entry '943.0' for key 'PRIMARY'
May 14 09:33:12 darkstar /sbin/opensips[7494]: ERROR:core:db_do_insert:
error while submitting query
May 14 09:33:12 darkstar /sbin/opensips[7494]:
ERROR:call_center:cc_db_insert_call: inserting new record in database
May 14 09:33:12 darkstar /sbin/opensips[7494]:
ERROR:call_center:w_handle_call: Failed to insert call record in db




I checked my MySQL log, and I see something like the following


Query     insert into b2b_entities
(type,tag0,tag1,callid,ruri,from_uri,from_dname,to_uri,to_dname,route0,route1,sockinfo_srv,param,state,cseq0,cseq1,lm,lrc,lic,contact0,contact1
) values (0,'265302590','B2B.15.62','1805953653','sip:321 at dark.sip
','sip:1001 at dark.sip','','sip:321 at dark.sip','','','','udp:192.168.57.1:5060
','943.0',1,21,1,0,0,21,'sip:1001 at 192.168.57.1:5062','sip:192.168.57.1:5060
')
Query     insert into b2b_logic
(si_key,scenario,sparam0,sparam1,sparam2,sparam3,sparam4,sdp,sstate,next_sstate,lifetime,e1_type,e1_sid,e1_to,e1_from,e1_key,e2_type,e2_sid,e2_to,e2_from,e2_key
) values ('943.0','call center','sip:789 at 192.168.57.3
','','','','','',1,1,1400057835,0,'server1','sip:321 at dark.sip
','sip:1001 at dark.sip','B2B.15.62',1,'client1','sip:789 at 192.168.57.3
','sip:1001 at dark.sip','B2B.252.8053748')
Query     insert into cc_calls
(state,ig_cback,no_rej,setup_time,eta,last_start,recv_time,caller_dn,caller_un,b2buaid,flow,agent
) values (2,0,0,-1,0,1623,1623,'1001','1001','943.0','support','')
Query     insert into b2b_entities
(type,tag0,tag1,callid,ruri,from_uri,from_dname,to_uri,to_dname,route0,route1,sockinfo_srv,param,state,cseq0,cseq1,lm,lrc,lic,contact0,contact1,leg_tag,leg_cseq,leg_contact,leg_route
) values
(1,'e86fcb40bafe3c72250681c6aca3fa92-c0ef','as79f2b584','B2B.252.8053748','','sip:1001 at dark.sip
','','sip:789 at 192.168.57.3','','','','udp:192.168.57.1:5060
','943.0',4,22,1,1,0,22,'sip:192.168.57.1:5060','sip:789 at 192.168.57.3:5060
','as79f2b584',22,'sip:789 at 192.168.57.3:5060','')
Query     update b2b_logic set
sstate=1,next_sstate=1,lifetime=1400100975,e1_type=0,e1_sid='server1',e1_to='sip:321 at dark.sip
',e1_from='sip:1001 at dark.sip
',e1_key='B2B.15.62',e2_type=1,e2_sid='client1',e2_to='sip:789 at 192.168.57.3
',e2_from='sip:1001 at dark.sip',e2_key='B2B.252.8053748' where si_key='943.0'
Query     update b2b_entities set
state=5,cseq0=22,cseq1=1,lm=4,lrc=0,lic=22,contact0='sip:192.168.57.1:5060
',contact1='sip:789 at 192.168.57.3:5060
',leg_tag='as79f2b584',leg_cseq=22,leg_contact='sip:789 at 192.168.57.3:5060',leg_route=''
where type=1 AND tag0='e86fcb40bafe3c72250681c6aca3fa92-c0ef' AND
tag1='as79f2b584' AND callid='B2B.252.8053748'
Query     update b2b_logic set
sstate=1,next_sstate=1,lifetime=1400100975,e1_type=0,e1_sid='server1',e1_to='sip:321 at dark.sip
',e1_from='sip:1001 at dark.sip
',e1_key='B2B.15.62',e2_type=1,e2_sid='client1',e2_to='sip:789 at 192.168.57.3
',e2_from='sip:1001 at dark.sip',e2_key='B2B.252.8053748' where si_key='943.0'
Query     update b2b_entities set
state=5,cseq0=21,cseq1=1,lm=0,lrc=200,lic=21,contact0='
sip:1001 at 192.168.57.1:5062',contact1='sip:192.168.57.1:5060' where type=0
AND tag0='265302590' AND tag1='B2B.15.62' AND callid='1805953653'
Query     delete from b2b_entities where type=1 AND
tag0='e86fcb40bafe3c72250681c6aca3fa92-c0ef' AND tag1='as79f2b584' AND
callid='B2B.252.8053748'
Query     update b2b_logic set
sstate=-2,next_sstate=1,lifetime=1400057814,e1_type=0,e1_sid='server1',e1_to='sip:321 at dark.sip
',e1_from='sip:1001 at dark.sip
',e1_key='B2B.15.62',e2_type=1,e2_sid='client1',e2_to='sip:789 at 192.168.57.3
',e2_from='sip:1001 at dark.sip',e2_key='B2B.252.8053748' where si_key='943.0'
Query     delete from b2b_entities where type=0 AND tag0='265302590' AND
tag1='B2B.15.62' AND callid='1805953653'
Query     delete from b2b_entities where type=0 AND tag0='265302590' AND
tag1='B2B.15.62' AND callid='1805953653'
Query     delete from b2b_logic where si_key='943.0'
Query     delete from b2b_entities where param='943.0'


Query     insert into b2b_entities
(type,tag0,tag1,callid,ruri,from_uri,from_dname,to_uri,to_dname,route0,route1,sockinfo_srv,param,state,cseq0,cseq1,lm,lrc,lic,contact0,contact1
) values (0,'1426943035','B2B.406.2','271697631','sip:321 at dark.sip
','sip:1001 at dark.sip','','sip:321 at dark.sip','','','','udp:192.168.57.1:5060
','943.0',1,21,1,0,0,21,'sip:1001 at 192.168.57.1:5062','sip:192.168.57.1:5060
')
Query     insert into b2b_logic
(si_key,scenario,sparam0,sparam1,sparam2,sparam3,sparam4,sdp,sstate,next_sstate,lifetime,e1_type,e1_sid,e1_to,e1_from,e1_key,e2_type,e2_sid,e2_to,e2_from,e2_key
) values ('943.0','call center','sip:789 at 192.168.57.3
','','','','','',1,1,1400057866,0,'server1','sip:321 at dark.sip
','sip:1001 at dark.sip','B2B.406.2',1,'client1','sip:789 at 192.168.57.3
','sip:1001 at dark.sip','B2B.252.3775340')
Query     insert into cc_calls
(state,ig_cback,no_rej,setup_time,eta,last_start,recv_time,caller_dn,caller_un,b2buaid,flow,agent
) values (2,0,0,-1,0,1655,1655,'1001','1001','943.0','support','')
Query     insert into b2b_entities
(type,tag0,tag1,callid,ruri,from_uri,from_dname,to_uri,to_dname,route0,route1,sockinfo_srv,param,state,cseq0,cseq1,lm,lrc,lic,contact0,contact1,leg_tag,leg_cseq,leg_contact,leg_route
) values
(1,'e86fcb40bafe3c72250681c6aca3fa92-c0ef','as7277702c','B2B.252.3775340','','sip:1001 at dark.sip
','','sip:789 at 192.168.57.3','','','','udp:192.168.57.1:5060
','943.0',4,22,1,1,0,22,'sip:192.168.57.1:5060','sip:789 at 192.168.57.3:5060
','as7277702c',22,'sip:789 at 192.168.57.3:5060','')
Query     update b2b_logic set
sstate=1,next_sstate=1,lifetime=1400101006,e1_type=0,e1_sid='server1',e1_to='sip:321 at dark.sip
',e1_from='sip:1001 at dark.sip
',e1_key='B2B.406.2',e2_type=1,e2_sid='client1',e2_to='sip:789 at 192.168.57.3
',e2_from='sip:1001 at dark.sip',e2_key='B2B.252.3775340' where si_key='943.0'
Query     update b2b_entities set
state=5,cseq0=22,cseq1=1,lm=4,lrc=0,lic=22,contact0='sip:192.168.57.1:5060
',contact1='sip:789 at 192.168.57.3:5060
',leg_tag='as7277702c',leg_cseq=22,leg_contact='sip:789 at 192.168.57.3:5060',leg_route=''
where type=1 AND tag0='e86fcb40bafe3c72250681c6aca3fa92-c0ef' AND
tag1='as7277702c' AND callid='B2B.252.3775340'
Query     update b2b_logic set
sstate=1,next_sstate=1,lifetime=1400101006,e1_type=0,e1_sid='server1',e1_to='sip:321 at dark.sip
',e1_from='sip:1001 at dark.sip
',e1_key='B2B.406.2',e2_type=1,e2_sid='client1',e2_to='sip:789 at 192.168.57.3
',e2_from='sip:1001 at dark.sip',e2_key='B2B.252.3775340' where si_key='943.0'
Query     update b2b_entities set
state=5,cseq0=21,cseq1=1,lm=0,lrc=200,lic=21,contact0='
sip:1001 at 192.168.57.1:5062',contact1='sip:192.168.57.1:5060' where type=0
AND tag0='1426943035' AND tag1='B2B.406.2' AND callid='271697631'
Query     delete from b2b_entities where type=1 AND
tag0='e86fcb40bafe3c72250681c6aca3fa92-c0ef' AND tag1='as7277702c' AND
callid='B2B.252.3775340'
Query     update b2b_logic set
sstate=-2,next_sstate=1,lifetime=1400057840,e1_type=0,e1_sid='server1',e1_to='sip:321 at dark.sip
',e1_from='sip:1001 at dark.sip
',e1_key='B2B.406.2',e2_type=1,e2_sid='client1',e2_to='sip:789 at 192.168.57.3
',e2_from='sip:1001 at dark.sip',e2_key='B2B.252.3775340' where si_key='943.0'
Query     delete from b2b_entities where type=0 AND tag0='1426943035' AND
tag1='B2B.406.2' AND callid='271697631'
Query     delete from b2b_entities where type=0 AND tag0='1426943035' AND
tag1='B2B.406.2' AND callid='271697631'
Query     delete from b2b_logic where si_key='943.0'
Query     delete from b2b_entities where param='943.0'



Your help is really appreciated. And sorry for my poor english

Best Regards,

Garmin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20140514/ee66c645/attachment-0001.htm>


More information about the Users mailing list