[asterisk-users] multiple registration to sip trunking provider.

Klaus Darilion klaus.mailinglists at pernau.at
Fri Jan 16 03:03:09 CST 2009


I do not know cordiip thus I do not know how these 3 different accounts 
are signaled to you, but some tips:

A SIP peer is always identified by host:port - thus there is at "peer" 
level no way to differ them. But in the register command you specify the 
contact to be called, e.g. 1646HHHHH25. Thus, if you use 3 different 
contacts you should be able to differ the 3 accounts in the incoming 
context using 3 different dial patterns.

regards
klaus

Andrea Borghi schrieb:
> a strange problem of multiple sip registrations and peer selection in 
> sip.conf is calling for your suggestions!!
> 
> let's examine this scenario:
> 
> some numbers and passwords hidden with HHHs to protect the guilty :)
> 
> I have 3 distinct sip subscriptions with cordiaip.net provider in US. For 
> each of these i insert in sip.conf (with peer name differences and relefant 
> number/password differences, of course]
> 
> -------
> register => 1646HHHHH25:HHHHH at soft1.ny.cordiaip.net/1646HHHHH25
> 
> [cordiaus1]                              
> type=friend                             
> secret=HHHHH
> username=1646HHHHH25                    
> fromuser=1646HHHHH25                    
> fromdomain=soft1.ny.cordiaip.net
> host=soft1.ny.cordiaip.net
> call-limit=5                            
> outboundproxy=soft1.ny.cordiaip.net     
> disallow=all
> allow=gsm
> allow=alaw
> allow=ulaw
> context=DID_cordia
> insecure=port
> -------
> 
> the sip registrations are OK and all seeems fine, BUT
> i have difficulties to map the incoming call because * is making mistakes in 
> matching the incoming sip INVITE to the relevant peer.
> 
> Please note that ALL the peers share the very same host and sip port.
> 
> When i make a call to one of the subscribed cordia number, in sip debug i get 
> a packes similar to this:
> 
> --------
> <--- SIP read from 38.98.115.34:5060 --->
> INVITE sip:16462487925 at 87.241.44.202 SIP/2.0
> Via: SIP/2.0/UDP 38.98.115.34:5060;branch=z9hG4bK22981681-bdb335
> To: <sip:1646HHHHH25 at 38.98.115.34>
> From: <sip:39347HHHHH22 at 38.98.115.34>;tag=2298168-fdb335
> Call-ID: 4926-0-1232058433 at 38.98.115.7
> CSeq: 1 INVITE
> Contact: <sip:393477135822 at 38.98.115.34:5060;transport=udp>
> Server: Sansay-SIP/8.0
> Max-Forwards: 70
> Content-Type: application/sdp
> Content-Length: 201
> 
> v=0
> o=Sansay-SPX 11 11 IN IP4 38.98.115.9
> s=Session Controller
> c=IN IP4 38.98.115.9
> t=0 0
> m=audio 15986 RTP/AVP 0 18
> a=rtpmap:0 PCMU/8000
> a=rtpmap:18 G729/8000
> a=fmtp:18 annexb=no
> a=ptime:20
> --------
> 
> please note the From: and To: lines, I receive a From: with the caller CID 
> (my mobile phone, in this case) and a To: with the sip number the call is 
> directed to; this seems OK to me.
> 
> I have read the chan_sip.c source file and it seems that
> when * receives this invite, it wals through the list of sip 
> users/peers/friends to search for the correct entry from which cloning the 
> sip parameters for the channel (as moh class, call limits, codecs and such) 
> using the host IP as the key (if type=peer) or the caller number (if 
> type=user) getting the values from the From: header.
> 
> This seems very strange, because the user part of the From: header is 
> potentially ANY number and the host part (and not the port, because is is 
> always 5060 and there is insecure=port in place) in this scenario is not 
> unique due to the 3 peers definitions.
> 
> Please keep in mind that if i utilize only one registration i have absolutely 
> no problems and can configure * correctly. The problem presents itself ONLY 
> with multiple peers with multiple registrations to the same host/port.
> 
> I cannot request cordia to forward me the numbers via an unique sip 
> registration (sip trunking) because it seems that they don't offer this 
> service. (but it may well be that i hadn't asked the right question)
> 
> Can anyone suggest how to implement a correct sip trunking for this scenario, 
> in which I have the incoming calls of the three registration going in a 
> specific context (not the default, see context=DID_cordia in the peer 
> definitions) and the outgoing calls going out via a specific user (so i can 
> choose at the dialplan level with which number i am presenting myself in 
> outgoing calls)
> 
> I have spent some days trying various combinations of peers and users 
> definitions, going in all cases to crash on the wall of the algorithm * uses 
> to select the correct peer for the incoming calls.
> 
> _______________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> 
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users



More information about the asterisk-users mailing list