Hello, hmm, the format $avp(s:callfwd) should still work fine. I will look deeper at it when I get a chance after returning to the office in few days. Anyhow, try to use $avp(callfwd), it is the same as $avp(callfwd) if you haven't defined an overlapping avp-alias.
On the other hand, I think avp_write(...) is no longer available. Now you can use direct assignment, like: $avp(callfwd) = $ruri; One very useful additions (in newer versions than 1.0, otherwise being quite old by now) is the sqlops module that allows to do all kind of sql operations from configuration file, in many cases saving from the complexity of using avpops db functions. See: https://www.kamailio.org/docs/modules/stable/modules/sqlops.html#idp44901364 So you can do INSERT/UPDATE/REPLACE/... as you need from config file, building the sql query with the variables you want. Cheers, Daniel On 30/09/16 18:29, Brian McCrary wrote: > Hello group, > > I know this may be hard to believe but I'm in the process of upgrading > an old, but stable, OpenSER 1.0 group of servers to Kamilio. I'm > basically going to sort of start from scratch with the database and > export my old MySQL database and write some scripts to reimport the data > using kamctl scripts since the database structure has changed > substantially since then it looks like. > > I've mostly migrated the config file over fairly easily, except for > AVPops. I've got a section of config file that writes into the > usr_preferences database for call forwarding, but I seem to get the same > error anywhere I try to write to the database using AVPops. Here's the > output I get when checking the config: > > 0(1378) DEBUG: <core> [pvapi.c:268]: pv_cache_add(): PV cache not > initialized, doing it now > 0(1378) ERROR: <core> [pvapi.c:828]: pv_parse_spec2(): error searching pvar > "avp" > 0(1378) ERROR: <core> [pvapi.c:1032]: pv_parse_spec2(): wrong char [s/115] > in [$avp(s:callfwd)] at [5 (5)] > 0(1378) : <core> [cfg.y:3368]: yyerror_at(): parse error in config file > /usr/local/etc/kamailio/kamailio.cfg, line 145, column 4-18: Can't get from > cache: $avp(s:callfwd) > ERROR: bad config file (1 errors) > > Here's what I think are the revelant portions of the config file: > > modparam("avpops", "db_url", "mysql://user:pass@localhost/kamailio") > modparam("avpops", "avp_table", "usr_preferences") > modparam("avpops", "uuid_column", "uuid") > modparam("avpops", "username_column", "username") > modparam("avpops", "domain_column", "domain") > modparam("avpops", "attribute_column", "attribute") > modparam("avpops", "value_column", "value") > modparam("avpops", "type_column", "type") > <snip> > if (avp_db_load("$from/username", "$avp(s:callfwd)")) > { > if(!avp_db_delete("$from/username", > "$avp(s:callfwd)/usr_preferences")) > { > sl_send_reply("500", "Server DB > error"); } > } > > # avp_write("$ruri","$avp(s:callfwd)"); # Old OpenSER > 1.0 syntax... > $avp(s:callfwd) = $ruri; # New Kamailio syntax ?? > > avp_db_store("$from/username","$avp(s:callfwd)/usr_preferences"); > t_relay(); > return; > > Basically I just want to write the ruri into the usr_preferences > database with an attribute of callfwd but not sure what I'm missing. I > see the error "Can't get from cache" but not sure how that pertains to > what I'm trying to do. Anyone have any ideas? > > Thanks, > > Brian > > _______________________________________________ > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list > sr-users@lists.sip-router.org > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users -- Daniel-Constantin Mierla http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda Kamailio Advanced Training, Berlin, Oct 24-26, 2016 - http://www.asipto.com _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users