Hello all,
Has anyone have magicjack working with their asterisk? I had patched chan_sip.c with some code that allows asterisk to do the md5 hash that mjmd5 proxy does. * shows that it is registered with magicjack, but incoming calls are not even hitting my * box and outgoing calls get congestion. Here is my relevant configs. I did do a ton of google searching, but it all points to it should work. And I am stuck. I know my existing dial plan internally works, as it already works with my GV and ipkall. Any links or suggestions would be greatly appreciated. Thanks. A little snip of sip show peers magicjack/Exxxxxxxxxx01 67.91.177.70 5070 OK (55 ms) I get this in the CLI -- Executing [12486323...@home-sip-int-in:1] Dial("SIP/jjonesip-00000006", "SIP/xxxxxxxx...@magicjack,30,r") in new stack == Using SIP RTP CoS mark 5 == Using UDPTL CoS mark 5 -- Called xxxxxxxx...@magicjack -- Got SIP response 480 "Temporarily Unavailable" back from 67.91.177.70 -- SIP/magicjack-00000007 is circuit-busy Sip.conf [general] useragent=MagicJack/2.0.554f (SJ Labs) ; incase they look at the UA of sip client register => Exxxxxxxxxx01:xxxxxxxxxxxxxxxx...@proxy1.detroit.talk4free.com:5070/1...@hom e-sip-int-in [magicjack] context=home-sip-int-in username=Exxxxxxxxxx01 authuser=Exxxxxxxxxx01 type=friend secret=xxxxxxxxxxxxxxxxxxxx port=5070 nat=no insecure=port,invite ;host=67.106.133.198 ; idk was in a howto host=proxy1.detroit.talk4free.com ;host=67.91.177.70 ; detroit proxy ;host=vms03.detroit.talk4free.com ;host=67.91.177.77 ; vms03.detroitproxy useragent=MagicJack/2.0.554f (SJ Labs) fromuser=Exxxxxxxxxx01 fromdomain=talk4free.com dtmfmode=rfc2833 ;dtmfmode=inband qualify=2000 canreinvite=no disallow=all allow=ulaw t38pt_udptl = no And the code I used to patch chan_sip.c --- old/channels/chan_sip.c 2009-08-13 10:24:40.000000000 -0700 +++ new/channels/chan_sip.c 2009-08-22 13:47:29.000000000 -0700 @@ -8535,6 +8535,32 @@ ast_md5_hash(a2_hash, a2); snprintf(resp, sizeof(resp), "%s:%s:%s", a1_hash, usednonce, a2_hash); ast_md5_hash(resp_hash, resp); + + + /* To a Magicjack domain */ + if (strstr(uri,"talk4free.com")) + { + char callid[256]; + char newnonce[256]; + char *c; + int i; + ast_copy_string(callid, p->callid, sizeof(callid)); + ast_copy_string(newnonce, p->nonce, sizeof(newnonce)); + + strcat(newnonce, "_"); + c = newnonce + strlen(newnonce); + char hex[2]; + hex[1] = 0; + for (i = 0; i < 8; i++) { + hex[0] = newnonce[i]; + int x = strtol(hex, NULL, 16); + *c++ = callid[x]; + } + *c++ = 0; + + snprintf(resp,sizeof(resp),"%s:%s:%s", a1_hash, newnonce, a2_hash); + ast_md5_hash(resp_hash, resp); + } } good_response = keys[K_RESP].s && @@ -11658,6 +11684,31 @@ snprintf(resp,sizeof(resp),"%s:%s:%s", a1_hash, p->nonce, a2_hash); ast_md5_hash(resp_hash, resp); + /* To a Magicjack domain */ + if (strstr(uri,"talk4free.com")) + { + char callid[256]; + char newnonce[256]; + char *c; + int i; + ast_copy_string(callid, p->callid, sizeof(callid)); + ast_copy_string(newnonce, p->nonce, sizeof(newnonce)); + + strcat(newnonce, "_"); + c = newnonce + strlen(newnonce); + char hex[2]; + hex[1] = 0; + for (i = 0; i < 8; i++) { + hex[0] = newnonce[i]; + int x = strtol(hex, NULL, 16); + *c++ = callid[x]; + } + *c++ = 0; + + snprintf(resp,sizeof(resp),"%s:%s:%s", a1_hash, newnonce, a2_hash); + ast_md5_hash(resp_hash, resp); + } + /* only include the opaque string if it's set */ if (!ast_strlen_zero(p->opaque)) { snprintf(opaque, sizeof(opaque), ", opaque=\"%s\"", p->opaque);
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users