Regarding first problem: fix the NGN :-( Regarding second problem: maybe the NGN sends to the wrong destination port regards klaus xutm schrieb: > Hi all, > Now I am developing a softphone using pjsip, and I have such two > problems: > 1. first problem: > As a callee, after receiving an INVITE, I send a 180 responce , but > the NGN can`t realize the 180 response, and NGN again sends another > INVITE with different Via and Record-Route. Such as: > the previous: > INVITE sip:059188244006 at 191.168.17.14 > <mailto:sip%3A059188244006 at 191.168.17.14> SIP/2.0 > Via: SIP/2.0/UDP aaa.aaa.aaa.aaa:5060;branch=z9hG4bK6a373d102bba229d > Via: SIP/2.0/UDP > bbb.bbb.bbb.bbb:5060;received=bbb.bbb.bbb.bbb;branch=z9hG4bK5c053455.0 > ... > Call-ID: 00004913000073df-0001-0020 at bbb.bbb.bbb.bbb > ... > Record-Route: <sip:aaa.aaa.aaa.aaa;lr> > Record-Route: <sip:bbb.bbb.bbb.bbb;lr> > the latter: > Via: SIP/2.0/UDP aaa.aaa.aaa.aaa:5060;branch=z9hG4bK6a373d102bba229d > Via: SIP/2.0/UDP > ccc.ccc.ccc.ccc:1150;received=ccc.ccc.ccc.ccc;branch=z9hG4bK5c053455.0 > ... > Call-ID: 00004913000073df-0001-0020 at bbb.bbb.bbb.bbb > ... > Record-Route: <sip:aaa.aaa.aaa.aaa;lr> > Record-Route: <sip:ccc.ccc.ccc.ccc:1150;lr> > I have no idea why this problem happen. The same Call-ID in two > INVITE packages shows that the two packages both sended by only one > Server. But why the Server sended two INVITE? Before modifing the codes, > PJSIP can`t deal with this situation . A fomous softphone called Eyebeam > ether can`t deal with it. Can somebody tell me why? > To solve this problem, I just disable the flag: route_set_froze, > always set : route_set_frozen = PJ_FALSE : > in method dlg_update_routeset in file sip_dialog.c: > if (pjsip_method_creates_dialog(&rdata->msg_info.cseq->method) && > PJSIP_IS_STATUS_IN_CLASS(msg->line.status.code, 200)) > { > // dlg->route_set_frozen = PJ_TRUE; > // PJ_LOG(5,(dlg->obj_name, "Route-set frozen")); > dlg->route_set_frozen = PJ_FALSE; // here i set false > } > Through this modify , it seems well the past few days and i can receive > incoming calls successfully. But just yesterday, I found it can`t > receive incoming call again! That is the second problem following: > 2. second problem: > After I send 180 response, NGN just don`t realize it and sends > another INVITE again. But the most oddball thing is : the Ethereal > indeed receive the incoming INVITE package while PJSIP doesn`t receive > the INVITE packages. From the log , i can`t found the incoming INVITE. > Then i check the methods: pjsip_endpt_handle_events2(sip_endpoint.c) and > pj_ioqueue_poll and poll_iocp in ioqueue_winnt.c , i found it indeed > loops to listen the special socket to receive incoming package. But why > it can`t receive the INVITE packages while the Capture package tools > such as Ethereal can receive them? Can someone help me please? > > Best regards, > xutm > > > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > 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