it comes from http://edvina.net/broadvoice/ and it is the only fraction that it is still needed for outgoing calls.
It does not cause any problems with other sip devices that are connected to my asterisk box.
if you do not patch it, then in sip debug you will notice that broadvoice gives you an error message:
I do not remember it anymore, but it should be unauthorised or access not allowed something like this.
----------------------------------------------------
--- channels/chan_sip.c.old 2005-03-12 18:10:49.000000000 +0200
+++ channels/chan_sip.c 2005-03-14 07:20:18.000000000 +0200
@@ -3701,16 +3701,28 @@
/* If we have full contact, trust it */
strncpy(invite, p->fullcontact, sizeof(invite) - 1);
/* Otherwise, use the username while waiting for registration */
- } else if (!ast_strlen_zero(p->username)) {
- if (ntohs(p->sa.sin_port) != DEFAULT_SIP_PORT) {
- snprintf(invite, sizeof(invite), "sip:[EMAIL PROTECTED]:%d",p->username, p->tohost, ntohs(p->sa.sin_port));
+} else {
+ /* If we have set the fromdomain, this is also used
+ as the to domain for SIP calls to a peer. Fromdomain
+ is used for calls to SIP proxys mostly
+ */
+ char fromdomain[256];
+ if (!ast_strlen_zero(p->fromdomain)) {
+ strncpy(fromdomain, p->fromdomain, sizeof(fromdomain) -1);
} else {
- snprintf(invite, sizeof(invite), "sip:[EMAIL PROTECTED]",p->username, p->tohost);
+ strncpy(fromdomain, p->tohost, sizeof(fromdomain) -1);
+ }
+ if (!ast_strlen_zero(p->username)) {
+ if (ntohs(p->sa.sin_port) != DEFAULT_SIP_PORT) {
+ snprintf(invite, sizeof(invite), "sip:[EMAIL PROTECTED]:%d",p->username, fromdomain, ntohs(p->sa.sin_port));
+ } else {
+ snprintf(invite, sizeof(invite), "sip:[EMAIL PROTECTED]",p->username, fromdomain);
+ }
+ } else if (ntohs(p->sa.sin_port) != DEFAULT_SIP_PORT) {
+ snprintf(invite, sizeof(invite), "sip:%s:%d", fromdomain, ntohs(p->sa.sin_port));
+ } else {
+ snprintf(invite, sizeof(invite), "sip:%s", fromdomain);
}
- } else if (ntohs(p->sa.sin_port) != DEFAULT_SIP_PORT) {
- snprintf(invite, sizeof(invite), "sip:%s:%d", p->tohost, ntohs(p->sa.sin_port));
- } else {
- snprintf(invite, sizeof(invite), "sip:%s", p->tohost);
}
strncpy(p->uri, invite, sizeof(p->uri) - 1);
/* If there is a VXML URL append it to the SIP URL */
_______________________________________________ Asterisk-Users mailing list [email protected] http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
