Hi benny thanks for the reply. Yes I am intended to work with multihomed devices. ans putting , transport=TCP in URI works. but I have some problem with INVITE (make call). the client tries to send the invite to some ip "64.14.244.60" instead of sending it to the SIP server . I tried to set my public IP but it does not stop doing this. What could be the reasons? // EMON On Thu, Jul 10, 2008 at 8:31 PM, Benny Prijono <bennylp at pjsip.org> wrote: > On Thu, Jul 10, 2008 at 3:25 PM, Zahed Emon <ena2413 at gmail.com> wrote: >> >> Hi, >> >> I am trying to register my client using TCP. >> >> I have created the TCP transport and did the registration with >> pjsua_acc_add >> >> acc_cfg.id = pj_str(uri); >> acc_cfg.reg_uri = pj_str (sip_domain); >> acc_cfg.cred_count = 1; >> acc_cfg.cred_info[0].realm = pj_str("*"); >> acc_cfg.cred_info[0].scheme = pj_str("digest"); >> acc_cfg.cred_info[0].username = pj_str(user); >> acc_cfg.cred_info[0].data_type = PJSIP_CRED_DATA_PLAIN_PASSWD; >> acc_cfg.cred_info[0].data = pj_str(pass); >> //acc_cfg.transport_id = trans_id; >> //acc_cfg. >> >> //acc_cfg.r >> >> // >> status = pjsua_acc_set_transport(acc_id,trans_id); > > > First of all, you don't have to call pjsua_acc_set_transport() unless you > really want to. With the default behavior (by not calling this function), > account can use any available transports, and normally this is the desired > behavior for typical applications. > > The pjsua_acc_set_transport() is provided for applications that want > explicit control on which transport to use to send/receive messages, for > example in multi-homed host and when application specificly wants to > send/receive messages using a specific interface. > > > >> >> >> status = pjsua_acc_add(&acc_cfg,PJ_TRUE,&acc_id); >> if(status != PJ_SUCCESS) >> { >> error_exit("Error in registration", status); >> } >> >> now I get error saying unsupported transport. >> >> When I checked the code. I found that in >> pjsua_acc_create_uac_contact() it checks for the transport type in URI >> >> if (PJSIP_URI_SCHEME_IS_SIPS(sip_uri)) >> tp_type = PJSIP_TRANSPORT_TLS; >> else if (sip_uri->transport_param.slen == 0) { >> tp_type = PJSIP_TRANSPORT_UDP; >> } else >> tp_type = >> pjsip_transport_get_type_from_name(&sip_uri->transport_param); >> >> if (tp_type == PJSIP_TRANSPORT_UNSPECIFIED) >> return PJSIP_EUNSUPTRANSPORT; >> >> >> Now how can I specify value for transport_param? I am not giving >> anything to get the transport other than UDP (I have not found it ). >> > > Please see http://trac.pjsip.org/repos/wiki/FAQ#tcp > > Cheers > Benny > > > >> >> BR >> >> Zahed >> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip at lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >