Hello,

I'm trying to append a branch, assign it a q value so it has priority and serialize the new branch and the main branch.

The goal is to send the new branch off to our CNAM provider, capture the CNAM in their reply to an $avp then drop the branch, stick the cnam in the main branch and allow the call to continue as normal. We do this currently using OpenSIPS with serialize_branches(1) but the of load_contacts() behavior seems to be different than serialize_branches.

route[CNAM_DIPS]
  t_on_branch("CNAM_DIPS");
  t_on_reply("CNAM_DIPS");
  t_on_failure("CNAM_DIPS");
  t_load_contacts();
  t_next_contacts();
  append_branch("sip:2223334444@22.33.444.55:5600;trans-type=5", "0.5");
  relay();
  break;

Two problems. First when t_next_contacts is called I get the following error:
ERROR: pv [pv_branch.c:58]: pv_get_branchx(): error accessing branch [0]
So it looks like the branches aren't actually being loaded?

Second problem is that despite the first error my call goes out on the branch I appended and I get a reply from the CNAM provider but Kamailio forwards that reply back to the phone causing the phone to send a second invite. In OpenSIPs we just called drop, to drop the branch and let the main branch continue but this doesn't seem to work in Kamailio.

I've read and reread the documentaion but it doesn't seem to behave the way the documentation says it should. Is there something I'm missing? Is there a better way to accomplish this in Kamailio?

Thank You,

___

John Petrini