PJSUA2 Android onCallTsxState

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I’m trying to use the onCallTsxState callback to retrieve a reason header for when a call is completed elsewhere (cause=26). When developing for iOS this was simple:

void on_call_tsx_state(pjsua_call_id call_id, pjsip_transaction *tsx, pjsip_event *e) {
   if (e->body.tsx_state.type == PJSIP_EVENT_RX_MSG) {
       pjsip_rx_data *rdata = e->body.rx_msg.rdata;
       NSString *messageBuffer = [NSString stringWithCString:rdata->msg_info.msg_buf encoding:NSUTF8StringEncoding];
       // do something interesting with the message buffer
   }
}

I have reproduced this in Android:

public void onCallTsxState(OnCallTsxStateParam prm) {
   super.onCallTsxState(prm);

   SipEventBody eventBody = prm.getE().getBody();
   if (eventBody.getTsxState().getType().equals(pjsip_event_id_e.PJSIP_EVENT_RX_MSG)) {
       SipRxData rdata = eventBody.getRxMsg().getRdata();
       String messageBuffer = rdata.getWholeMsg();
       // do something interesting with the message buffer
   }
}

However, getWholeMsg() always returns an empty string, as do any other string returning methods for the SipRxData instance. Does anyone know why this is the case? Or, a better method for retrieving this reason header?

Thanks,

Jonathan
_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@xxxxxxxxxxxxxxx
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org




[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux