Summary: | ASTERISK-12836: Asterisk fills "via" header not correctly. | ||
Reporter: | performer (performer) | Labels: | |
Date Opened: | 2008-10-07 00:42:48 | Date Closed: | 2008-12-16 09:44:25.000-0600 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_sip/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | Some provider couldn't send responses to Asterisk because information in "via" header has port "0". My solution: diff chan_sip.c.bak chan_sip.c 2628c2628 < ntohs(p->ourip.sin_port), p->branch, rport); --- > ntohs(p->socket.port), p->branch, rport); | ||
Comments: | By: Joshua C. Colp (jcolp) 2008-12-15 14:03:01.000-0600 Can you please attach your configuration that causes this minus passwords? Thanks. By: performer (performer) 2008-12-15 22:57:33.000-0600 [general] context=incoming realm=mydomain.ru bindport=5060 bindaddr=0.0.0.0 srvlookup=yes domain=mydomain.ru register => AAAA:AAAA@sipnet.ru:5060/1234567 register => BBBB:BBBB@sip.asterisk.somedomain1.com:55060 register => CCCC:CCCC@sip.asterisk.somedomain1.com:55060 register => DDDD:DDDD@proxy01.sipphone.com:5060 register => EEEE:EEEE@sip.voiparound.com:5060 register => FFFF:FFFF@somedomain2.dynalias.com:5060 externhost=sip.mydomain.ru localnet=192.168.4.0/255.255.255.0 localnet=192.168.5.0/255.255.255.0 nat=route canreinvite=no domain=mydomain.ru,internal domain=192.168.4.7 fromdomain=mydomain.ru [authentication] auth = FFFF:FFFF@FFFF ; somedomain2 realm [BBBB] type=friend context=incoming1 username=BBBB secret=BBBB fromuser=BBBB host=sip.asterisk.somedomain1.com insecure=port,invite outboundproxy=sip.asterisk.somedomain1.com port=55060 nat=route language=ru disallow=all allow=alaw [CCCC] type=friend context=incoming1 username=CCCC secret=CCCC fromuser=CCCC host=sip.asterisk.somedomain1.com insecure=port,invite outboundproxy=sip.asterisk.somedomain1.com port=55060 nat=route language=ru disallow=all allow=alaw [sipnet] type=friend username=AAAA secret=AAAA fromuser=AAAA fromdomain=sipnet.ru host=sipnet.ru port=5060 outboundproxy=sipnet.ru canreinvite=no nat=route insecure=port,invite disallow=all allow=alaw allow=ulaw allow=g723 allow=g729 ;allow=gsm context=incoming1 qualify=yes [sipphone] type=friend username=DDDD secret=DDDD host=proxy01.sipphone.com port=5060 outboundproxy=proxy01.sipphone.com canreinvite=no insecure=port,invite disallow=all allow=ulaw allow=ilbc allow=gsm context=incoming1 [FFFF] type=friend username=FFFF secret=FFFF fromdomain=somedomain2.dynalias.com host=somedomain2.dynalias.com port=5060 outboundproxy=somedomain2.dynalias.com canreinvite=no nat=route insecure=port,invite context=incoming3 disallow=all allow=alaw allow=gsm [freecall] type=friend username=EEEE secret=EEEE host=sip.voiparound.com port=5060 outboundproxy=sip.voiparound.com canreinvite=no insecure=port,invite disallow=all allow=ulaw allow=ilbc allow=gsm context=incoming1 [3000] username=3000 type=friend secret=123 host=dynamic context=extended insecure=port,invite [3001] username=3001 type=friend secret=123 host=dynamic context=extended insecure=port,invite language=ru mailbox=3001 [3002] callgroup=2 username=3002 type=friend secret=123 host=dynamic context=extended insecure=port,invite reinvite=no disallow=all allow=alaw allow=ilbc allow=gsm language=ru mailbox=3002 [3003] username=3003 type=friend secret=123 host=dynamic context=extended insecure=port,invite reinvite=no language=ru mailbox=3003 [3004] username=3004 type=friend secret=123 host=dynamic context=extended insecure=port,invite language=ru mailbox=3004 [3005] username=3005 type=friend secret=123 host=dynamic context=extended insecure=port,invite language=ru mailbox=3004 [3007] username=3007 type=friend secret=123 host=dynamic context=extended insecure=port,invite language=ru [3008] username=3008 type=friend secret=123 host=dynamic context=extended insecure=port,invite reinvite=no disallow=all allow=alaw allow=ilbc allow=gsm language=ru nat=yes mailbox=3008 quality=yes [3009] username=3009 type=friend secret=123 context=extended mailbox=3402 language=ru host=dynamic context=extended insecure=port,invite reinvite=no disallow=all allow=g729 allow=ilbc allow=gsm language=ru nat=yes mailbox=3009 [3011] username=3011 type=friend secret=123 host=dynamic context=extended insecure=port,invite language=ru [3012] username=3012 type=friend secret=123 host=dynamic context=extended insecure=port,invite language=ru [3013] username=3013 type=friend secret=123 host=dynamic context=extended insecure=port,invite language=ru [3014] username=3014 type=friend secret=123 host=dynamic context=extended insecure=port,invite language=ru By: performer (performer) 2008-12-15 23:00:01.000-0600 Problem happens when other side uses Communigate Pro that looks to Via header when routing. By: Digium Subversion (svnbot) 2008-12-16 09:44:24.000-0600 Repository: asterisk Revision: 164659 U trunk/channels/chan_sip.c ------------------------------------------------------------------------ r164659 | file | 2008-12-16 09:44:24 -0600 (Tue, 16 Dec 2008) | 4 lines When using externhost make sure the port gets set to the bindaddr port if one was not specified in the externhost value itself. (closes issue ASTERISK-12836) Reported by: performer ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=164659 |