Hi Benny, Thanks for your answer. I test your code, and I think it works because I obtain this message : 23:57:21.000 test.c Mapped address is XX.XX.XX.XX where XX.XX.XX.XX is my static IP from my provider. I ran pjnath-test, and the results are bad. I join the log file of INCLUDE_STUN_TEST. When I run INCLUDE_ICE_TEST, test aborts. Tomorrow, I will try test one after another. Samuel Benny Prijono a ?crit : > Hi Samuel, > > lets ignore the "unknown msg type" error for now and do the more > basic tests first. > > There are two STUN implementations in pjsip: the old implementation > in pjlib-util which is used to query the public address of socket, > and the new implementation in pjnath which is used by ICE and the > NAT detection function. I'm not sure which has problem in Nintendo > DS port since both are used (or it could be that both have > problems!), so lets test both of them. > > To test the new STUN (and ICE) in pjnath, you can use pjnath-test. > There are many messaging related tests there, so if there is a > problem with alignment or the like, the error should hopefully appear. > > To test the old STUN, could you test the following code? > > #include <pjlib.h> > #include <pjlib-util.h> > > #define THIS_FILE "test.c" > > static void check_error(const char *func, pj_status_t status) > { > if (status != PJ_SUCCESS) { > char errmsg[PJ_ERR_MSG_SIZE]; > pj_strerror(status, errmsg, sizeof(errmsg)); > PJ_LOG(1,(THIS_FILE, "%s error: %s", func, errmsg)); > exit(1); > } > } > > #define DO(func) status = func; check_error(#func, status); > > int main() > { > pj_sock_t sock; > pj_sockaddr_in addr; > pj_str_t stun_srv = pj_str("stun.fwdnet.net"); > pj_caching_pool cp; > pj_status_t status; > > DO( pj_init() ); > > pj_caching_pool_init(&cp, NULL, 0); > > DO( pjlib_util_init() ); > DO( pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &sock) ); > DO( pj_sock_bind_in(sock, 0, 0) ); > > DO( pjstun_get_mapped_addr(&cp.factory, 1, &sock, > &stun_srv, 3478, > &stun_srv, 3478, > &addr) ); > > PJ_LOG(3,(THIS_FILE, "Mapped address is %s:%d", > pj_inet_ntoa(addr.sin_addr), > (int)pj_ntohs(addr.sin_port))); > > DO( pj_sock_close(sock) ); > pj_caching_pool_destroy(&cp); > pj_shutdown(); > > return 0; > } > > cheers, > -benny > > > Samuel Vinson wrote: > >> Hi, >> >> I recompiled all pjsip and my program. Now, it doesn't abort, but when >> STUN message is parsed (pjstun_parse_msg) >> it tells that an unknown message type. Nevertheless I use the same >> login/pwd and server with Windows and it works. >> >> Do you have an idea where is the problem ? >> >> 01:01:24.000 pjsua_core.c No SIP worker threads created >> 01:01:24.000 pjsua_core.c pjsua version 0.8.0-trunk for nds initialized >> 01:01:24.000 call.c Add UDP transport. >> 01:01:28.000 stun.c Error: unknown msg type 17257 >> 01:01:28.000 stun_client.c STUN parsing error ignored: Unknown STUN >> message type (PJLIB_UTIL_ESTUNINMSGTYPE) >> > > > > _______________________________________________ > 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 > > > -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: lognath-stun.txt Url: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20071205/eb41cbb1/attachment-0001.txt