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 [12486323130 at home-sip-int-in:1]
Dial("SIP/jjonesip-00000006", "SIP/xxxxxxxxxxx at
magicjack,30,r") in new stack
== Using SIP RTP CoS mark 5
== Using UDPTL CoS mark 5
-- Called xxxxxxxxxxx at 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:xxxxxxxxxxxxxxxxxxx at proxy1.detroit.talk4free.com:5070/1100 at
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);
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.digium.com/pipermail/asterisk-users/attachments/20100901/8270d823/attachment.htm