Greetings,

I'm hoping someone can help me out here. I'm relatively new to FS, but not to general telephony and I have a small amount of SIP experience.

My FS installation is, so far, a fairly straightforward PBX setup with a single SIP trunk with 21 DIDs to the ITSP that I work at. I have everything working as far as inbound and outbound calls, except that in order for me to use a DID as the outbound caller id, that DID needs to be explicitly registered with the ITSP, and not just the pilot number for the SIP trunk. When I try to create a second gateway *.xml file to register a second DID, I get an error "Registration Failed with status Operation has no matching challenge [904]" on the FS console. As I mentioned, I work at this ITSP and I program similar SIP trunks into Adtran TA9xx boxes for SIP over T1 deliveries. On the Adtrans, I'm able to define a single SIP trunk, and have multiple register statements within that trunk, one for each DID. I'm wondering if there's a way to do something similar in FS.

I'm running a very recent (I update from the GIT tree about twice a week) version of FS on a Debian Linux OS, and, I have several local extensions working and able to call in and out; I just want to be able to outpulse various DIDs as my caller-id without getting calls rejected. Here's a copy of my gateway .xml file, with relevant information changed:

<include>
  <gateway name="gatewayname">
  <!--/// account username *required* ///-->
  <param name="username" value="1234567890"/>
  <!--/// auth realm: *optional* same as gateway name, if blank ///-->
  <!--<param name="realm" value="asterlink.com"/>-->
  <!--/// username to use in from: *optional* same as  username, if blank ///-->
  <!--<param name="from-user" value="cluecon"/>-->
  <!--/// domain to use in from: *optional* same as  realm, if blank ///-->
  <param name="from-domain" value="gatewayname"/>
  <!--/// account password *required* ///-->
  <param name="password" value="XXXXXXXX"/>
  <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
  <!--<param name="extension" value="cluecon"/>-->
  <!--/// proxy host: *optional* same as realm, if blank ///-->
  <param name="proxy" value="proxyname"/>
  <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
  <!--<param name="register-proxy" value="mysbc.com"/>-->
  <!--/// expire in seconds: *optional* 3600, if blank ///-->
  <!--<param name="expire-seconds" value="60"/>-->
  <!--/// do not register ///-->
  <param name="register" value="true"/>
  <!-- which transport to use for register -->
  <!--<param name="register-transport" value="tcp"/>-->
  <!--How many seconds before a retry when a failure or timeout occurs -->
  <!--<param name="retry-seconds" value="30"/>-->
  <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
  <param name="caller-id-in-from" value="true"/>
  <!--extra sip params to send in the contact-->
  <!--<param name="contact-params" value="tport=tcp"/>-->
  <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
  <param name="ping" value="30"/>
  <param name="extension-in-contact" value="true"/>
  </gateway>
</include>


Again, I don't know if I would do it here (I would assume so) but I'm wondering if there's some way (maybe multiple "extension" statements? I dunno..) to register multiple DIDs in the same gateway / SIP trunk.

Thanks!